(navigation image)
Home American Libraries | Canadian Libraries | Universal Library | Community Texts | Project Gutenberg | Children's Library | Biodiversity Heritage Library | Additional Collections
Search: Advanced Search
Anonymous User (login or join us)
Upload
See other formats

Full text of "Byte Magazine Volume 10 Number 06: Programming Techniques"

PVTf 

THE SMALL SYSTEMS JOURNAL 



JUNE 1985 VOL.10, NO. 6 

$3.50 IN UNITED STATES 

$4.25 IN CANADA / £2.10 IN U.K. 

A McGRAW-HILL PUBLICATION 

0360-5280 



PROGRAMMING 
TECHNIQUES 



■■.• 




How to awid payingyour bilk 

X J i^J J by Alan Greenspan 




Alan (hvensfMH. Famous Economic /hliisor 

"The other day a prominent politician 
in the executive branch of our government phoned 
me up. 

'Alan, he said to me, 'the budget is a mess! 

'No joke! I said. 

'Not that budget^ the prominent politician 



nsfxm 

Everyone has to pay their bills, 
and nobody likes to do it. 

You can keep file folders full of bills, 
drawers stuffed with grocery receipts, 
envelopes brimming with cancelled 
checks, and at the end of the month, 
it still takes horn's to figure out just 
where your money has gone. Not to 
mention how long it takes to straight- 
en things out at the end of the year. 
Well, after veal's of financial 
consulting, I've discovered a way to 
avoid paying your bills: let an Apple" II 
Personal Computer pay them for you. 
There are several advantages to 
letting an Apple handle your finances. 
It will save you time. 
It will organize everything. 
It will tell you, at a glance, 
exactly what is going on with your money 

It will pay your bills, and never send you any. 
And now Id like to turn the page over to those 
nice people at Apple, who will explain, in their own 
excruciating detail, just what I'm talking about!" 

The Apple II and the Home Budget. 



continued. 'My budget. My checkings overdrawn. 

They're threatening to disconnect my phones. I even With software programs like The Home Accountant 7 ' 



got into a shouting match with my wife 
when I tried to lay off the servants! 

'Civil?' 

'Not very. And I think I'm about to 
be audited. What would I show them? 
Who keeps receipts for embassy parties?' 

At this point, we were discon- 
nected. And although it was too late 
to teach proper money management 
to this prominent politician, there is 
a lesson all of us can learn from his 
misfortune. 



1$ 




An /\j ')/)/(' II mil take care of erenlbing from your bousMtt budget 
to your /axes irilh software [>n)grams like Dollar & Stmise. The Home 
Accountant, and Tax hiptrer. 



and Dollars & Sense'" the Apple II makes 
it easy to set up household books. First, 
it will ask you some questions about your 
home finances. Like how much money 
you bring in each month, how much rent 
you pay, and whether you owe money 
to credit card companies, mortgage 
holders, or any other surly 
characters. Then, it will ask 
you to enter some of the 
bills you receive each month 
whose prices may van': 



s 




phone, utilities, and the like. Then, it will ask you 
where you keep your money, and for the numbers of 
your various checking and savings accounts. 

That's really all there is to it. After that, an 
Apple II can automatically write checks for all your 
fixed expenses each month. It will also tell you 

what other bills you can be expecting, and when you Barrons, and the Dow Jones News/Retrieval® seivice. 
enter their costs, an Apple II will pay them, too. Find out what they've been saying on Wall Street 

An Apple II will see to it that your checkbooks Week. And in most cases, get up to the minute price 



ThisLuin'Ajph 

slais bvplmne. II aba coiimrb your /t/iple II to a wealth o/iii/ormalion seirices, like THE 

miiCE m ami Compi&ive" 

using an Apple modem, you'll gain instant access to 
financial news sources like The Wall Street Journal, 



remain balanced, and that you'll know when your 

expenses are about to exceed your income. It can 

even help you plan to buy a new car. Or a home. 

Or a iur-lined boat, if your budget permits. 

How to avoid your 
banker. 

After the Apple II writes 
your checks, it can call 
your bank with the help 
of your telephone and 
an Apple modem. And 
faster than a teller can 
say "Next window, 




With our Scribe* color/ graphics printer, y§u can 
automatically print out your own checks— 
not to mention reports, papers, almost anything 
lixafjl money 



quotes on over six thousand stocks, options, and 
other securities. 

An Apple II lets you buy and sell securities right 
in your home or office, at the moment you want to 
make the trade. It automatically updates your port- 
folio and gives you detailed holding reports. It even 
produces charts and graphs, so you can quickly see 
how you and your investments are doing. 

A little tax relief. 

If you become perturbed everytime the subject of 
doing taxes comes up, an Apple II can do them for 
you with programs like Forecast™ and Tax Preparer™ 
It can store your records, plan for the next 



please!' you can find out all your balances, enter de- year, and calculate your taxes. 



posits, see what checks have cleared, transfer money 
from one account to another, and even pay off 
some of your credit cards and other bills electroni 
cally— without ever wilting a check. 

So the only time 
you'll have to go to the 
bank is when you 
want to visit with your 
money personally 

yir/1 ■ 1 i It can manage your entire stock portfolio withpwgrams like Dow 'Jones hw 

W mCn, Wlieil and Company >s The Equalizer It can even mow you what's going on in y< 




You'll be alerted to payments you've made over 
the year that may be tax-deductible. It even keeps 
year-round records, automatically updating totals 
and making corrections for you. It will even print 

out completed tax 
forms that the I.R.S. 
will accept. 

And it can do 
about 10,000 other 
things totally unrelat- 



•cstors WorkshofF and Charles Schwab 
your bank account* 



done in moderation, we can recommend most highly, ed to taxes or this ad. So there's no telling how far 



The Apple II and making money 

An Apple II can do wondrous things for your person- 
al finances. With several different software programs, 
you can become your own stockbroker. Again, by 



an Apple II can take you. 

"Well, I think that about covers it. And what if, 
after all of this, you still have some money left over? 

Congratulations. You're doing a lot better than 



the government.' 1 




*A note to Dr. Greenspans relatives: lie says, "Don't get excited '/'his isn't my real bank account"© 1985 /if file Computer, Inc. Affile and the Apple logo are registered trademarks of Apple Computer Inc. 
The Home Accountant is a trademark oj Continental Software. Dollars^ Sense and Forecast are trademarks q/'Monogt'am. Dow Jones Aim/ Retrieval and Dow Jones I ^ 

of Dow Jones and Com umy, Inc. Tax Preparer is a trademark of Howard Software Services. Scribe is a registered trademark licensed to Affile Computer, Inc. 'THE SOURCE is a sen ice mark of Source 
ii'lecompuliug Corporation, a subsidiary of the Reader's Digest Association, Inc. CompuServe is a trademark of CompuServe Coiporation, an II & R Block Company. The Equalizer and Equalizer are 
trademarks of Charles Schwab & Company inc. Spectrum is a registered service mark oftlx Chase Manhattan Corporation For an authorized Affile dealer near you call (800) 538-9696. 
In Canada, call (800) 268-7796 or (800) 268-7631 



CONTENTS 




106 




232 



FEATURES 



Introduction 106 

Interactive Audio in a Videodisc System 

by ]ohn Lawler. Paul Hairsine. and Albert E. Miller 108 

The tool described consists of a microcomputer, a touch-sensitive display, 
and an external audio box that's computer-controlled. 

Ciarcias Circuit Cellar: Build the Home Run Control System, 

Part 3: The Software by Steve Garcia 121 

In this final part ot his home-control system. Steve describes the software and 
demonstrates a schedule entry 

SALT by Samuel D. Fenster and Lincoln E. Ford 147 

SALT is a reinvention of the threaded interpretive language in which assembly-language 
routines can be used in a single CALL statement from BASIC 

The SUM: An AI Coprocessor by Phillip Robinson 169 

This coprocessor is intended for computers geared toward Al programming. 

Inside AppleTalk by David Ushijima 185 

Apple's new local-area network is designed to let Apple and non-Apple products 
communicate and share information and resources. 

The Expert Mechanic by Michael Fichtelman 205 

Expert systems needn't be esoteric or waste resources. 

Switch by Werner F. Grunbaum 221 

Use color and monochrome monitors simultaneously on your IBM PC 

Two'S-Complement Numbers Revisited by Gary Bronson and Karl Lyon 228 

A value box helps simplify the conversion of positive numbers from binary to decimal form. 

THEMES 

Introduction 232 

Choosing a Programming Language by Gary Elfring 235 

It's a three-step process. 

Structuring BASIC by Arthur Huston 243 

Compensate for some of the language's shortcomings with a library of subroutines. 

Subroutine Libraries in Pascal by Bruce Webster 253 

The author presents a look at some of the facilities available for developing these libraries. 

Using Data Flow for Application Development by Wayne P. Stevens 267 

This form of linkage results in functions that are easier to understand, develop, and maintain. 

Debugging Techniques by Gregg Williams 279 

There are no magic formulas, but there are tools, and the most powerful one is your own brain. 

6502 Tricks and Traps by \oe Holt 295 

A programmer offers tips for surviving 6502 assembly-language programming. 

Software-ICs by Lamar ledbetter and Brad Cox. 307 

Productivity Products International offers a plan for building reusable software components. 

REVIEWS 

Introduction 320 

Reviewer's Notebook by Glenn Hartwig 323 



BYTE (ISSN 0360-52801 is published monthly with one extra issue per year by McGraw-Hill Inc. Founder: lames H. McCraw 11860-19481. Executive, editorial, 
circulation, and advertising offices: 70 Main St.. Peterborough. NH 034 58. phone (603) 924-9281. Office hours: Mon-Thur 8:30 AM - 4:30 PM. Friday 
8 30 AM - 1:00 PM. Eastern Time Address subscriptions to BYTE Subscriptions. POB 590. Martinsville. Nl 08836. Postmaster: send address changes. 
USPS Form 3579. undeliverable copies, and fulfillment questions to BYTE Subscriptions. POB 596. Martinsville. Nl 08836. Second-class postage paid 
at Peterborough. NH 03458 and additional mailing offices Postage paid at Winnipeg. Manitoba. Registration number 9321. Subscriptions are $21 for 
one year. S38 for two years, and S55 for three years in the USA and its possessions. In Canada and Mexico. S23 for one year. S42 for two years. S6I 
for three years. S69 for one year air delivery to Europe. 17.100 yen for one year surface delivery to lapan. S37 surface delivery elsewhere. Air delivery 
to selected areas at additional rates upon request Single copy price is S3. 50 in the USA and its possessions. S3.95 in Canada and Mexico, $4.50 in 
Europe, and $5 elsewhere. Foreign subscriptions and sales should be remitted in United States funds drawn on a U.S. bank. Please allow six to eight 
weeks for delivery of first issue. Printed in the United States of America. 



2 BYTE* IUNE 1985 



COVER ILLUSTRATION BY ROBERT TINNEY 



VOLUME 10, NUMBER 6, 1985 



The Mindset Personal Computer by Tom Wadlow 324 

A machine that works like an IBM PC but adds CAD/CAM-inspired graphics capabilities. 

Idea Processors by William Hershey 337 

Four packages for organizing text and thoughts. 

Convenience Software by Mark J. Welch 353 

A comparative review of pop-up programs. 

Building Expert Systems with M.l by Bruce D'Ambrosio 371 

A knowledge-engineering tool that's part software, part seminar. 

Hewlett-Packards HP 7475A Plotter by Rich Malloy 379 

A six-pen graphics machine. 

The IBM Quietwriter Printer by jon R. Edwards 385 

A letter-quality printer that uses thermal-transfer technology. 

The Word Plus by George Sheldon 393 

Software that checks your spelling. 

Review Feedback 401 

Readers respond to previous reviews. 

KERNEL 



Introduction 406 

Computing at Chaos Manor: From the Living Room by jerry Poumelle 409 

Complete chaos at the Manor causes ferry to escape to New York, but he still finds time 
to visit shows and look at new products. 

Chaos Manor Mail conducted by jerry Poumelle 435 

Jerry's readers write, and he replies. 

BYTE U.K.: Telephone Computers by Dick. Pountain 439 

The One Per Desk is a personal computer with built-in telephone hardware, tightly integrated 
telecommunications software, and general-purpose desktop computer facilities. 

BYTE Japan: New NECs and a Cartridge Disk by William M. Raike 451 

Our Japan reporter tells about three new microcomputers from NEC. a cartridge 
hard-disk system from lomas Electronics, and Japans use of public video-display units 
as shoppers' directories. 

BYTE West Coast: A GEM Seminar by John Markoff and Phillip Robinson 455 

Our West Coast correspondents report on DR's seminar to teach programmers 
to adapt their software to the GEM environment, and on MacNosy and advances 
in disk-controller technology. 

Circuit Cellar Feedback conducted by Steve Garcia 461 

Steve answers project-related queries from readers. 

BYTELINES conducted by Sol Libes 468 



Editorial: 
The BYTE Information Exchange . . .6 

Microbytes 9 

Letters 14 

Fixes and Updates 33 

Whats New 39, 470 

Ask BYTE 48 

CLU8S & Newsletters 58 



BOMB Results 
Reader Service . 



Address all editorial correspondence to the Editor. BYTE. POB 372. Hancock. NH 03449. Unacceptable manuscripts will be returned if accompanied 
by sufficient first-class postage. Not responsible for lost manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE 

Copyright© 1985 by McGraw-Hill Inc. All rights reserved. Trademark registered in the United States Patent and Trademark Office. Where necessary, 
permission is granted by the copyright owner for libraries and others registered with the Copyright Clearance Center ICCC) to photocopy any article 
herein for the flat fee of $1.50 per copy of the article or any part thereof. Correspondence and payment should be sent directly to the CCC. 29 Congress 
St.. Salem. MA 01970. Specify ISSN 0360-5280/83 SI. 50. Copying done for other than personal or internal reference use without the permis- 
sion of McGraw-Hill Inc. is prohibited. Requests for special permission or bulk orders should be addressed to the publisher BYTE is available 
in microform from University Microfilms International. 300 North Zeeb Rd.. Dept. PR. Ann Arbor. M! 48106 or 18 Bedford Row. Dept. PR. 
London WC1R 4EI England 
Subscription questions or problems should be addressed to: BYTE Subscriber Service, POB 328. Hancock. NH 03449 




Book Reviews 65 

Event Queue 86 

Books Received 465 

Unclassified Ads .525 

BYTE's Ongoing Monitor Box, 

526 

527 



320 





W' 



406 



SECTION ART BY DAVE CALVE R 



)UNE 1985 • BYTE 3 




Can You Name Every 
Dual-Drive Color PC 
That Runs Lotus 1,3,3 
and Costs Under $1500? 

Hints 

• It comes with a 14" RGB monitor 
much like the 14" monitor that comes 
with the $2495 Leading Edge PC. 

• It has dual 800K disk drives muchl 
like the $2495 Tandy 2000, but unlike 
the 2000 it will also read and write to 
160K, 320K, and 360K IBM-PC formats.! 

• It's an 8088, MS-DOS system with 
256K of RAM, butit comes with a better 
free software bundle than the 8-bit Kaypro I 
including MS-DOS 2.1 1, HAGEN-DOS, | 
DOS-TUTOR, WordStar 3.3, Easy Writer, 
Spell, Mail Track, PC File III, FILE- 
BASE, CalcStar, games, graphics, utili- | 
ties, and two BASIC languages. 

• Although it's not PC-DOS compatible 
it will run hundreds of the same pro- 
grams as the IBM including dBASE II, 
Multiplan, the PFS series, Lotus 1,2,3 
and even Flight Simulator. 

• During the dog days of summer 
computer sales, we've lowered the prices 
ofbothourcolorandmonochrome systems. 
You can receive a free booklet on these 
systems by calling our machine at 
1-800-FORA FOX, and leaving your 
name and address at the beep. 

Your time is up the answer is: 

Color Fox $1497 

also 
Fox Jr. . . . $899 Silver Fox . . $1297 

Scorrsdale Systems, w. 

617 N. Scorrsdole Rd. #D. Scortsdole, A2 85257 

(602)941-5856 



The Silver Fox is Bold exclusively by Scottedale Systems 
Ltd., 617 N. Scottsdale Road KB, Scottedale, AZ 85257. 
Trademark*: Silver Fox, HAGEN-DOS, and Datemate, 
Scottidale Systems Ltd.; WordStar and CalcStar, 
Micropro International; MS-DOS, and Multiplan, Micro- 
soft Corporation; FILEBASE, EWDP Software, Inc.; 
dBASE II, AshtonTate; IBM-PC, and IBM-PC DOS; 
International Business Machines Corporation. Ordering: 
Telemarketing only, Silver Fox price is for cash, 
F.O.B. Scottsdale, prices subject to change, product 
subject to limited supply. We accept purchaseorders from 
Fortune 1000 companies and major universities with 
good credit - add 2% Visa, Mastercard add 3%, AZ' 
residents add 6%. Returned merchandise subject to a 20% 
restocking fee. Personal or company checks take up to 3 
weeks to clear. No COD's or APO'e. 



BYTE 



editor in chief 

Philip Lemmons 
managing editor 
Gene Smarte 
consulting editors 

Steve Garcia 
Jerry Pournelle 
Bruce Webster 
senior technical editors 

G. Michael Vose. Themes 
Gregg Williams 
technical editors 

Thomas R. Clune 

Jon R. Edwards 

Richard Grehan 

Glenn Hartwig, Reviews 

Ken Sheldon 

Richard S. Shuford 

Jane Morrill Tazelaar 

Eva White 

Stanley Wszola 

Margaret Cook Gurney, Associate 

Alan Easton. Drafting 

WEST COAST EDITORS 

Ezra Shapiro. Bureau Chief. San Francisco 
John Markoff. Senior Technical Editor. Palo Alto 
Phillip Robinson. Senior Technical Editor. Palo Alto 
Donna Osgood, Associate Editor. San Francisco 
Brenda McLaughlin. Editorial Assistant. San Francisco 

NEW YORK EDITOR 

Richard Malloy. Senior Technical Editor 

managing editor, 

electronic publishing and communications 

George Bond 

user news editor. east coast 

Anthony I. Lockwood. Whais New 

USER NEWS EDITOR, WEST COAST 

Mark Welch. Microbules 

CONTRIBUTING EDITORS 

Mark Dahmke, video, operating systems 

Mark Haas, at large 

Rik Iadrnicek. CAD. graphics, spreadsheets 

Mark Klein, communications 

Alastair J. W. Mayer, software 

Alan Miller, languages and engineering 

John C. Nash, scientific computing 

Dick Pountain. U.K. 

William M. Raike, \apan 

Perry Saidman, computers and law 

Robert Sterne, computers and law 



COPY EDITORS 

Bud Sadler. Chief 
Dennis Barker 
Elizabeth Cooper 
Anne L. Fischer 
Nancy Hayes 
Lynne M. Nadeau 
Paula Noonan 

)OAN VlGNEAU ROY 

Warren Williamson 



assistants 

Peggy Dunham 
Martha Hicks 
Beverly Jackson 
Lisa Jo Steiner 



ART 

Rosslyn A Frick, Art Director 
Nancy Rice. Assistant Art Director 



PRODUCTION 

David R. Anderson. Production Director 
Denise Chartrand 
Michael J. Lonsky 
Jan Muller 



SENIOR VICE PRESIDENT PUBLISHER 

Harry L. Brown 

PUBLISHER'S ASSISTANT 

Doris R. Gamble 

PERSONNEL 

Cheryl Hurd. 0//ice Manager 
Patricia Burke. Personnel Coordinator 



ADVERTISING SALES (603-924-6137) 

). Peter Huestis. Sales Manager 
Sandra Foster. Administrative Assistant 

ADVERTISING/PRODUCTION (603-924-6448) 

Lisa Wozmak, Supervisor 

Robert D Hannings. Senior Account Manager 

Marion Carlson 

Karen Cilley 

Lyda Clark 

MicheleGilmore 

Denise Proctor 

Wai Chiu Li. Quality Control Director 

Julie Nelson, Advertising/Production Coordinator 

CIRCULATION (800-258-5485) 

Gregory Spitzfaden. Director 

Andrew Jackson, Subscriptions Manager 

Cathy A. Rutherford, Assistant Manager 

Laurie Seamans, Assistant Manager 

Susan Boyd 

Phil Dechert 

Mary Emerson 

Louise Menegus 

Agnes E. Perry 

Jennifer Price 

James Bingham, Single-Copu Sales Manager 

Linda Ruth, Assistant Manager 

Carol Aho 

Claudette Carswell 

Karen Desroches 

marketing communications 

Horace T. Howland. Director (603-924-3424) 

Vicki Reynolds, Marfeetina Production Manager 

Priscilla Arnold, Marfeetina Assistant 

Stephanie Warnesky. Marfeetina Art Director 

Sharon Price. Assistant Art Director 

Doug Webster. Director of Public Relations (603-924-9027) 

Wilbur S. Watson, Operations Manager. Exhibits 

planning and development 

Michele P. Verville. Manager 

Patricia Akerley. Research Manager 

Cynthia Damato Sands. Reader Service Coordinator 

Faith Kluntz, Copyria/its Coordinator 

manufacturing/finance/services 

Daniel Rodrigues. Director 

ACCOUNTING 

Kenneth A. King, Assistant Controller 

Vicki Wesion, Accounting Manager 

Linda Short, D/P Manager 

Edson Ware, Credit 

Marie Caggiani 

Marilyn Haigh 

Diane Henry 

Vern Rockwell 

JoAnn Walter 

typography 

Sherry McCarthy. Chief 'Wspographer 

Nan Fornal 

Len Lorette 

Kathy Quist 

Donna Sweeney 

building services/traffic 

Anthony Bennett. Building Services Manager 

Brian Higgins 

Mark Monkton 

receptionists 

L Ryan McCombs 

Cheryl Castro. Assistant 



Editorial and Business Office: 70 Main Street. Peterborough. New Hampshire 034 58. (603) 924-9281. 
West Coast Offices: McGraw-Hill. 425 Battery St.. San Francisco. CA 94) 1 1. (41 5) 362-4600. 

McGraw-Hill. 1000 Elwell Court. Palo Alto, CA 94303, (415) 964-0624. 
New York Office: 1221 Avenue of the Americas. New York, NY 10020. (212) 512-2000. 

Officers of McGraw-Hill Information Systems Company: President; Richard B. Miller. Executive Vice Presidents: Frederick P. lannott. Con- 
struction Information Group: Russell C White, Computers and Communications Information Group; ]. Thomas Ryan. Marketing and Interna- 
tional. Senior Vice Presidents: Francis A. Shinal. Controller: Robert C. Violette. Manufacturing and Technology. Senior Vice Presidents and 
Publishers: Harry L. Brown. Computers and Communications: David 1. McGrath. Construction. Group Vice President: Peter B. McCuen. Com- 
munications. Vice Presidents: Fred O. Jensen. Planning and Development: Margaret L. Dagner. Human Resources. 
Officers of McGraw-Hill. Inc.: Harold W. McGraw. Ir., Chairman; loseph L. Dionne. President and Chief Executive Officer: Robert N. Landes. Executive 
Vice President and Secretary; Ralph I. Webb, Vice President and Treasurer; Donald L. Fruehling. Executive Vice President. Publishing Operations Group: 
Ralph R. Schulz, Senior Vice President, Editorial: Walter D. Serwatka. Senior Vice President. Manufacturing and Circulation Services. Vice Presidents: 
Shel F. Asen. Manufacturing: George R. Elsinger, Circulation. 



Ml 



4 B YTE • JUNE 1985 



Give yourself a Giff. 




Now you can network IBM PCs with a 
powerful, multitasking, multiuser system. 

Run popular MS-DOS™ programs like Lotus™ 1-2-3, 
SuperCalc" 3 and WordStar™ Plus all the thousands of CP/M* 
programs. Plus true multiuser accounting, database manage- 
ment, and electronic mail. 

Gifford's MC-NEi;™ running on our MC-186™ and IBM 
compatible PCs, gives you all this capability and more. It lets 
you grow a network that shares information and resources 
among hundreds of people. With full security. Advanced tele- 
communications. And the ease of use of a standalone PC. 

Get the whole story on Gifford hardware, software and 
service. Just call 415/895-0798 and ask for a Giff Pack.™ Or write 
to us at 2446 Verna Court, San Leandro, CA 94577 

Give yourself the Giff that keeps on giving. 

©GIFFORD 
COMPUTER SYSTEMS 

A subsidiary of Zitel Corporation 

THE MULTIUSER COMPANY' 

2446 Verna Court, San Leandro, CA 94577 415/895-0798 Telex 704521 2050 North Loop West, Suite 1 16 Houston, TX 77018 713/680-1944 

In Europe: London (01) 878-91 1 1 Telex 28106 (UK) 

MC -NET and MC-186 are trademarks of Giffbrd Computer Systems. MS-DOS, CP/M, Lotus 1-2-3, SuperCalc 3 and VSbrdStar are trademarks of Microsoft, Digital Research, 
Lotus Development Corporation, Sorcim/IUS Micro Software, and MicroPro International respectively. 



Inquiry 196 



JUNE 1985 -BYTE 



EDITORIAL 



The BYTE Information 
Exchange 

BYTE will soon become an interactive 
magazine by founding the BYTE Informa- 
tion Exchange (BIX). The goal of BIX is to 
set up ideal forums for exchanging infor- 
mation about computers and related 
topics. If even 1 percent of our circulation 
owns a specific kind of computer, that 
translates to several thousand people- 
enough to constitute a thriving user 
community. 

Although a new product, BIX is also an 
extension of the BYTE magazine that you 
read each month. Through the BYTE In- 
formation Exchange, you'll be able to get 
your messages to Steve Ciarcia and Jerry 
Pournelle more quickly. You'll be able to 
download program listings from BYTE ar- 
ticles for noncommercial use. In time, 
you'll find in BIX more product announce- 
ments and scheduled events than we're 
able to print on paper in BYTE's What's 
New and Event Queue. 

BIX has all the functions of an electronic 
bulletin board but also provides true com- 
puter conferencing. "Computer conferen- 
cing" fails to express the kind and quality 
of person-to-person communication that 
this technology fosters. Printouts of con- 
ferences often read like the transcripts of 
lively face-to-face discussions, and you 
wish you had been there. You have to 
remind yourself that the "speakers" 
weren't "there" either— like you, they were 
using personal computers in their homes, 
offices, or hotel rooms and were transmit- 
ting messages at whatever hours they 
found convenient. 

Because computer conferencing makes 
it possible to have a group discussion 
without gathering everyone in one place 
or at one time, it is the ideal way to tap 
distributed resources. BYTE's subscribers 
are a paradigm of distributed resources. 
Collectively you possess more information 
about personal computers and corre- 
sponding topics than any other group of 
people in the world. We think of you as 
a living database. 

Through BIX, you can share not only the 
knowledge of other subscribers but also 
their thinking power. Terms like "dis- 
tributed resources" and "living database" 
fall short of the real possibilities for infor- 




mation exchange that mechanisms such 
as BIX can bring about. 

How BIX Makes BYTE 

"Subscriber-Specific" 

Besides giving you a major new resource 
for information on computers, BIX will let 
us customize BYTE for you. How? Once 
you join a "conference— just by typing join 
and the conference's name— you automa- 
tically receive all new comments from the 
conference each time you sign on. You can 
join all those conferences that meet your 
individual interests. Suppose you're in- 
terested in the Macintosh. FORTH, the 
68020, computers in education, and 
robotics. You can join a conference on 
each of those topics. When you sign on, 
you'll find all the new comments on those 
topics waiting for you to read, and, if you 
wish, you can enter comments yourself, 
including queries. Another subscriber may 
be interested in IBM PCs, C. PC-DOS, 
XENIX, graphics, the 80286, and scientific 
computing. Neither of you will have to 
wade through the comments in topics that 
don't interest you. BIX will enable BYTE 
to cover your particular machine, but it will 
be much better than "machine-specific." 
Through BIX. BYTE will serve each 
subscriber's needs. 

We will set up conferences and sub- 
conferences on any topic of legitimate in- 
terest in personal computing and related 
fields. We'll start with conferences on dif- 
ferent computers, programming lan- 
guages, chips, and operating systems, as 
well as such topics as graphics, artificial 
intelligence, and telecommunications. 

Software and Sign -Up 

The BYTE Information Exchange is based 



on CoSy (for conferencing system). CoSy 
is a powerful and friendly piece of con- 
ferencing software developed by friends 
of ours at the University of Guelph in 
Ontario. After you first sign on and 
register, you can see the major groups of 
conferences by typing show groups. You 
can see a list of all the conferences by typ- 
ing show all. If you want to participate in 
a conference not listed, send a note to the 
editors proposing the conference. Nte'll 
find the right place for the new conference 
in the BIX structure and let everyone know 
where to find it. Once you sign up for BIX, 
we'll send you the BIX user's manual, 
which has one of Robert Tinney's best 
covers ever. 

Charter Subscriptions 

Charter subscribers— people who join BIX 
before January I, 1986— will receive spe- 
cial low rates, The introductory sign-up fee 
is $2 5. If you call through our own com- 
munications nodes, you pay evening and 
weekend charges of $6 per hour of con- 
nect time, whether for 300 or 1200 bps. 
Charter subscribers calling through 
Tymnet will pay the same $2 5 sign-up fee 
plus evening charges of $8 per hour. Dur- 
ing the day, our direct rate will be $18 per 
hour and our Tymnet rate $24 per hour. 

In the beginning, there will be direct BIX 
numbers in four cities: San Francisco, Los 
Angeles, Chicago, and Boston. You'll be 
receiving the direct BIX numbers and 
other information either here in the 
magazine or through direct mail. The infor- 
mation will include instructions for sign- 
ing up, which you can do either on line 
or through the mail. Billing will be through 
Visa and MasterCard. 

Readers who use our free bulletin board 
to download program listings should rest 
assured that it will remain available. BIX 
users will be able to download program 
listings using either Kermit or XMODEM 
protocol, 

We're excited about the prospect of on- 
line interaction with subscribers. It should 
enable us to do a better job of meeting 
your needs and should make a stronger 
community of us all. We hope to meet you 
on line soon. 

— Phil Ummons, Editor in Chief 



B YTE • JUNE 1985 



maxell 

FLOPPY DISK 




Gold. 



The floppy disk 

that helps IBM PC AT 

spell it out, 
keeps Data General 

specific, 

and suits AT&T to aT 



Tailored to surpass your most 
demanding specifications. Maxell. 
The Gold Standard in floppy disks. 
From high density floppys 
for PC AT (ours was the first 
commercially available) to 
standard formats for virtually 
every computer made, Maxell 
leads the way. Each comes with 
a lifetime warranty. And each 
carries the name to make your 
next floppy disk purchase decision 
a solid triumph. 

maxell 

IT'S WORTH IT 

Maxell Corporation of America, 60 Oxford Drive, Moonachie, N.J. 07074 
Inquiry 266 




PC AT is a registered trademark of IBM Corp. 



JUNE 1985 'BYTE 7 



YOUR DAYS OF 
BUYING TERMINALS 
ARE OVER! 

Now there's SmarTerm terminal 
emulation software for your IBM* 
PC, XT, AT or compatible system. 
All SmarTerm products offer com- 
prehensive and exact terminal 
emulation, powerful ASCII and 
binary file transfer facilities, and 
include TTY mode to link you to 
The Source, CompuServe, Dow 
Jones, Easylink, Tymnet or other 
popular services. We've included 
features such as multiple setup 
configurations, XMODEM and PDIP* 
protocol support, 
"smart" softkeys, 
plus European 
DOS support. 



NEW! SmarTerm 220 supports 
A-to-Z and other software which 
requires DEC* VT220 terminals. 
It includes the full capabilities of 
SmarTerm 100: DEC VT102, 
VT100, and VT52 emulation. If 
you need VT125 ReGIS graphics 
support, choose SmarTerm 125. 
For Data General Dasher* D400, 
D200 or D100 emulation you need 
SmarTerm 400. 

More than 20,000 smart "cookies" 
are already using SmarTerm. 
Try it for 30 days with full refund 
privileges. 

Persoft, Inc., 2740 Ski Lane 

Madison, Wl 53713 

(608) 273-6000 - TELEX 759491 




AFTER 

SMARTERM, WHAT " 
YOU DO WITH YOUR 



I ft 




IDEA CREDIT: Hank Cramer of Campbell, California See your name in print! The best ideas for uses of obsolete 

terminals replaced by SmarTerm will be used in future ads. Write Persoft, Dept. COOKIE., 2740 Ski Lane, Madison, Wl 53713. 



'SMARTERM and POIP are trademarks ol Person. Inc " IBM is a registered trademark ol 
International Business Machmes Corp. * DEC. VT and ReGlS are trademarks ol Digital 
Equipment Corp ' DASHER ts a registered trademark ol Data General Corp. 



© Persoft. Inc 1985 All rights reserved 



aersa/r 

J Inquiry 326 



MICROBYTES 



Staff-written highlights of late developments in the microcomputer industry. 



Complex High-End Chips Hit Snags 

Problems in debugging complex microprocessor chips have caused new problems at Zilog 
and Intel. Zilog admitted that sampling of its Z80000 32-bit processor, announced in the 
summer of 1983, has been delayed until early 1986. Zilog had originally planned to start 
shipping the Z80000 in late 1984. 

A newly discovered bug in Intel's newest 80286 processor reportedly has delayed Digital 
Research's work on the Concurrent 286 operating system. The bug, which Intel says was 
undetected until the third version of the 80286, apparently affects software in the chip's 
"protected" mode, used in multitasking and multiuser applications. 

Intel has also stopped all manufacturing, marketing, and support activities for its 432 
microprocessor. The 432 was Intel's first 32-bit chip set, but it was never used in any large- 
volume computers. Intel is reportedly working on two other 32-bit chip designs, including 
the Intel 80386, which will be compatible with its 80286 and earlier designs. Intel will begin 
shipping samples of the 80386 late this year. 

Lotus, Intel Agree on 8-megabyte Memory Standard for IBM PC 

Lotus and Intel have announced an expanded-memory specification for addressing memory 
above the IBM PC's 640K-byte limit and the PC AT's 3-megabyte limit. New versions of 
Lotus 1-2-3 and Symphony and AshtonTate's Framework will be able to directly address up 
to 4 megabytes of memory. 

Intel's new Personal Computer Enhancement Operation division announced the first ex- 
pansion cards that address and also go beyond the specification. Each of Intel's Above 
Board expansion cards adds up to 2 megabytes of RAM to the IBM PC and 4 megabytes to 
the IBM PC AT. The Above Board/PC card, with 64K bytes already installed, is $395; the 
Above Board/AT card will be available next month for $595 with 128K bytes installed. 

New Computers Unveiled at COMDEX 

Several companies had plans to introduce computers in May. Compaq announced 80286- 
based IBM PC AT-compatible versions of its Portable and DeskPro computers late in April. 
Both machines feature 6- or 8-MHz clocks and 256K bytes of RAM. The Portable can han- 
dle 640K bytes of RAM on its main board, while the DeskPro can be equipped with 2.2 
megabytes. Additional boards provide the former with 2.6 megabytes of RAM and the latter 
with 8.2 megabytes. The Portable's storage configurations range from single or dual 360K- 
byte or 1.2-megabyte floppy-disk drives with a 20-megabyte Winchester drive to a unit with 
a single floppy-disk drive and a hard-disk drive with a fixed-disk backup. The DeskPro is of- 
fered with the same floppy-disk storage arrangements and hard-disk capacities ranging from 
20 to 70 megabytes. Pricing will be competitive with the PC AT. 

TeleVideo unveiled a computer designed to outperform the IBM PC AT. The system uses 
an 8-MHz 80286 processor instead of the 6-MHz version used in the AT and reportedly also 
has faster disk access. The system features four unoccupied AT-compatible expansion slots 
and two XT-compatible slots, serial and parallel ports, a I.2-megabyte 5 '/4-inch disk drive, 
and an optional 20-megabyte hard disk. TeleVideo said pricing for the system, including MS- 
DOS 3.1, would be about 15 percent less than prices for comparable IBM products. 
TeleVideo will also sell a high-resolution 640- by 400-pixel graphics card and monitor for the 
computer. 

Zenith Data Systems was to unveil the Z-17I and Z-138, two IBM PC-compatible portable 
computers. The Z-171 is a battery-powered 17-pound portable based on Morrow's rede- 
signed Pivot computer. With a backlit 80-character by 25-line liquid-crystal display, two 
5 '/4-inch disk drives, and 256K bytes of memory, the Z-171 retails for $2699. The Z-138 is a 
25-pound transportable computer with one expansion slot and color graphics capabilities. 
With one 5/4-inch disk drive and I28K bytes, it will sell for $2199; with 256K bytes and two 



{continued) 
JUNE 1985 -BYTE 9 



drives, it's $2499. Zenith also planned to unveil three new flat-screen monochrome 
monitors. 

Leading Edge Products hoped to reduce supply problems resulting from its dispute with 
supplier Mitsubishi by offering a new system manufactured by Daewoo of South Korea. The 
new machine will offer a smaller footprint than its earlier computer. Pricing will range from 
$1495 for a two-drive 256K-byte system with a monochrome monitor to $2695 with a 
10-megabyte hard disk and an RGB monitor. 

Columbia Data Products introduced a multiuser system based on its IBM PC-compatible 
MPC Models 4750 and 4950. Each workstation includes a processor card with an 8-MHz 
8088, 2 56K bytes of RAM (expandable to 768K), and a serial port; the workstation itself 
features a parallel port and connectors for a color or monochrome monitor. Workstations 
are connected to the computer via four- or six-wire twisted-pair cables. Up to four $1200 
workstations can be added to a standard MPC. Theoretically, up to 31 workstations could 
be added using optional expansion chassis. Columbia's system uses software licensed from 
Alloy Computer Systems, which also sells hardware and software allowing multiuser access 
to the IBM PC. 

New Laser-Class Printers 



Data Recording Systems Inc., Melville, NY, announced the LaserScribe/8415 laser printer, 
available to other manufacturers in versions with print resolutions of 600, 800, and 1000 
dots per inch at speeds from three to eight pages per minute. Retail products based on the 
8415 will probably be priced well above $30,000. 

Casio announced the LCS-2400 "electro-photographic" printer, using liquid-crystal shutter 
technology. The LCS-2400 prints up to nine pages per minute at a resolution of about 240 
dots per inch. Casio was unsure of U.S. pricing but said the printer currently sells for about 
$1600 in Japan. In the U.S., it will be available only to other manufacturers. 

Products Will Aid Visually Disabled Computer Users 

Computer Aids, Fort Wayne, IN, introduced several microcomputer products for the dis- 
abled. One product, Small-Talk, uses a modified Epson HX-20 and a speech synthesizer to 
allow blind users to perform word-processing tasks. With a printer, microcassette tape drive, 
and special word-processing software, the computer will cost about $2000. 

NANOBYTES 

Advanced Micro Devices unveiled several new products, including a I -megabit EPROM, a 
bit-mapped color graphics chip, and a data-compression and -expansion chip. AMD also 
hopes to begin sampling both 1200- and 2400-bps single-chip modems late this year. . . . 
Alpha Software added its name to the list of manufacturers of keyboard-enhancement pro- 
grams with its new $90 Keyworks .... Microsoft unveiled Microsoft Access, a $2 50 com- 
munications program. . . . Hayes Microcomputer Products announced the Transet 1000, an 
intelligent printer/communications buffer/port expander. The $399 unit includes a 68008 pro- 
cessor and 128K bytes of memory. ... In response to customer complaints about copy pro- 
tection, several companies are dropping software protection or are offering unprotected ver- 
sions at a higher price. MicroPro and Stoneware dropped copy protection from their 
newest IBM PC products. MaxThink offers an unprotected version of MaxThink for $60 ex- 
tra, following the earlier example of Borland International .... Scenic Computer Systems 
Corp., Redmond, WA, has introduced a text-composition system that prepares text for laser 
printers using an IBM PC. Scenic Writer for the Hewlett-Packard LaserJet is $995 .... In- 
terstate Voice Products, Orange, CA, announced a connected-speech recognition system 
for the IBM PC. A vocabulary of 15 to 20 words can be recognized in continuous speech, 
while an additional 240 words are recognized when pronounced with silence between 
words. The $1650 card includes an 80186 processor and 128K bytes of RAM. . . . Beaman 
Porter, Harrison, NY, has unveiled PowefText Formatter, a $50 program that allows users of 
most popular word processors to print documents in a two-column format with foot- 
notes. . . . IBM introduced PC Storyboard, a slide-show graphics package that can reside as 
a background task and can be used to "capture" screen graphics from other programs. The 
$250 program can then be used to enhance the graphs and display them in a slide-show- 
like sequence. . . . Manhattan Graphics Corp. has unveiled a $125 page-design program for 
Apple's 512K-byte Macintosh. Users of ReadySetGo can resize and rearrange blocks of text 
and graphics on a page for newsletters or other documents. 

10 BYTE • JUNE 1985 



Both letter-quality and draft hard copy 



Fastest document 
throughput in its class 



Industry 
standard serial 
and parallel j 
interfaces. / 



i 


1 



M. Kun n. Ki.ly 



ll»tln0i Of «v« l«bli (want tfa.l »*t tk 

••t for wur m, mtdcnc* h»r« m Himt 
llttlnoa Mtt your specif ic»tio«» *r,4 I ).<*• ■ 4»i»n 
■art that I thin* Mould pl»*i* y™, but <nr;<- m mi 
rw p rnt or «oUwr fro* what n indict.* you Mattt. 

ftl you rooUMtodr I tpot* »lth your c«rjtrtti 
ooaptrollw ftohrrt Clark *nd ht UditiUJ tint r.U«- 
tlon fundi em bi forward *e by i«nk win i« y*u xould 
bo «bl« to Mto your mU<u<k *n* »•?!•*• til tht 
(toUtH In m trip brier* y«u l«**t f»r your 
oo wf w onot in ftxttt Carlo, 



Both friction and 
tractor paper feed 



■ whm i -iiij 



|h*t*fraphi «f tM 1U 




Better, 

more versatile 
operator 
, controls 













H^MgHHB|- 


Tl reliability 


• V '■"'■■ ' ■■;■. - ■. i#',-' 


5= 



Compatibility with third-party 
and proprietary software 



Better, 

more durable 
easy-access 
font modules 



TheTl 855 microprinter. 

No other printer says better 

so many ways. 



Feature for feature, no other microprinter 
can match the versatility, compatibility, 
reliability and productivity of the 
OMNI 800* Model 855 microprinter. 
Here's why. 

Two Printers In One. With the TI 855 
you get the speed of dot matrix draft 
copy. Plus the precise clarity of the most 
advanced matrix technology for letter- 
quality print. It's two printers in one — at 
one low price. 

A Great Family Name. Texas Instru- 
ments is known for providing the world 
with the industry standard for printers — 
the TI 810. TI builds the same reliability 
into every 800 series microprinter. Both 
the 855 and the data processing Model 
850 are part of the expanding TI line of 
high-performance, low-cost microprinters. 



Hardware Compatible. The TI 855 

microprinter is compatible with all major 
PC hardware. And it provides both serial 
RS232C subset and "Centronics-type" 
parallel as standard interfaces. 
Software Compatible. The TI 855 uses 
industry standard escape sequences for 
compatibility with virtually all third-party 
software. And for those with proprietary 
software needs, a model is available with 
ANSI standard escape sequences. 
Tough Font Modules For Quick Char- 
acter Change. Three font modules can 
be inserted into the front of the printer at 
one time, and are accessed individually. 
Each contains both draft- and letter- 
quality character sets. They're easier to 
use, more reliable and more durable than 
traditional metal or plastic daisy wheels. 



More Productivity Than Any Other 
Microprinter. The 855 offers both fric- 
tion and tractor paper feed, to handle all 
types of word and data processing applica- 
tions. A quick-change snap-in cartridge 
ribbon. Raster and mosaic graphics. And 
intelligent printing which maximizes doc- 
ument throughput — regardless of format. 

Get the printer that makes for better 
information systems. For more information 
visit your nearest TI authorized dealer or 
write Texas Instruments Incorporated, P.O. 
Box 402430, Dept. DPF-082BY, m. 
Dallas, TX 75380-9063. Or call JJX 
toll-free: 1-800-527-3500. ^C 

Texas 
Instruments 



Copyright © 1984 Texas Instruments ' Trademark of Texas Instruments 



Creating useful products 
and services for you. 



291380-R2 



JUNE 1985 • BYTE II 



COMBINE POWER AND 
ENHANCE YOUR PC-AT 



Quadram introduces the smart way to enhance your IBM PC-AT. Quadmeg-AT and 
Quadport* AT. Smart because Quadmeg-AT and Quadport-AT make the most of your AT 
system today and expand to meet your system's growing needs in the future. 



Quadmeg-AT comes socketed 
for memory expansion from 
128K to 2 Megabytes. Harness 
this power to create megabyte- 
sized RAM drives, access 

QUADMEGAT" 



Advance to 4 Megabytes 

When you need more than 
2Mbytes, Quadmeg-AT adapts 
with two Quadmeg-AT 
Expansion Cards. Each packs 
512K or 1Mbyte extra RAM. 



Both cards filled give 
Quadmeg-AT a powerful 
4Mbyte capacity. 
Quadmeg-AT delivers 
the power you need to 
take full advantage of the 
AT s capabilities. 




Maximum Performance in 
Minimum Space 

Quadmeg-AT and Quadport-AT fit 
snugly side by side to deliver a powerful 
4Mb RAM and multiple I/O expan- 
sion in just two AT expansion slots. 



greater amounts of informa- 
tion, and process data faster 
and more efficiently than 
ever before. Plus, with 
u split memory mapping" 
Quadmeg-AT lets you expand 
the AT s base system memory 
to 640K without buying a 
space-wasting 128K card. 



Add a Second 
Quadport 

Two Quadport- AT s give 
your AT system a total 
of 2 parallel ports and 
1 serial ports. Add 
peripheral devices or 
workstations for the 
ultimate in PC-AT, 
performance. 



,. v TM Look for this seal. It's the 
. mark of dependability and 
w ^s,7^ performance from the 
^l.^?* leader in microcomputer 
l^wnY! enhancements. 



IBM PC-AT is a registered trademark of 
International Business Machines Corporation. 

12 BYTE • JUNE 1985 



EXPANDABILITY TO 
THE SMART WAY 



QOVDPOKTAT 

Quadport-AT combines a 
parallel printer port and a 
serial port to give your AT t 
features found on 
IBM's Serial/ 
Parallel Adapter. , 
But at a lower 
cost and with 




built-in expandability. Connect 
printers, plotters, modems, 
and other devices for increased 
productivity. 

Advanced Port Expansion 

As your AT becomes the 
center of a high-performance 
u, T __ m I LAN or growing multi- 
user, multi-tasking system, 
snap on the optional 
Quadport-AT Expansion 
Kit and add 4 more serial 
ports to your system. The 
Quadport AT Expansion 
Kit comes with software 
to access these ports, 
making it easy to add 
shared peripherals or 
workstations. 



Enhance the smart way 
with Quadram* 

For basic AT expansion, 
Quadmeg-AT and Quadport AT 
work together to provide 128K 
memory expansion, a serial port, 
and a parallel port. 
Then, as your system 
grows, Quadmeg-AT and 
Quadport-AT give you up to 
4MB RAM, 1 parallel port, 
and up to 5 serial ports in just 
two PC AT expansion slots. 
Only Quadram combines so 
much power and expandability. 
That's PC AT enhancement 
the smart way. 



Features 


Quadmeg-AT: RAM 


Expansion Cards: Two cards 


expansion from 128K to 


available. Each comes with 


2Mbytes. Expandable in 5 12K 


5 12K or 1Mbyte RAM 


increments. Split memory 


installed. 


mapping assigns 128Kor 384 K 




to base memory. 


QuadMaster'AT Software: 


Total RAM Capacity: 


RAM Drives and Spooling for 


4Mbytes. 


extended memory. 


Quadport-AT: Port expansion 


Quadport-AT Expansion Kit: 


with 1 Centronics parallel port 


(optional) 4 RS-232C serial 


and 1 RS-232C serial port. 


ports. Software to access ports. 




For a free demonstration visit 
the Quadram dealer nearest 
you. Or, for information, write 
us at 4355 International Blvd., 
Norcross, Georgia 30093 
(404)923^6666. 



QUADRAM 

' -* An Intelligent Systems Company 



Inquiry 344 




JUNE 1985 -BYTE 13 



LETTERS 



Votes for Programming 
Insights 

This is a complaint. It is no service to your 
readers to bury very useful articles under 
"Programming Insight" at the bottom of 
your table of contents. "Simultaneous 
Equations with Lotus 1-2-3" by Jan-Henrik 
Johannson (February, page 399) was the 
most interesting article in that issue. 

You might justify your position by say- 
ing that such articles never get mentioned 
in the BOMB (BYTE's Ongoing Monitor 
Box). I agree. But the reason is that you 
exclude them from the ballot! So here's 
a vote for Johansson— the only way I can 
do it. 

N. C. Webb, M.D. 
Lincoln, MA 

Gene Smarte replies: 

Thank you for your vote. It will be in- 
cluded in our tabulation. As of May, we 
are adding all the Programming Insights, 
Application Notes, and other brief ar- 
ticles that appear at the back of the book 
to the table of contents and the BOMB. 

Mail-order Delays 

Regarding Phil Lemmons's editorial "Ser- 
vice and Support" (February, page 6), I 
have purchased various computer systems 
and components via mail order, and I have 
not had any problems except with Priori- 
ty One Electronics in Chatsworth, Califor- 
nia. 

Priority One has been sitting on $300 
of mine since August 1984. Several phone 
calls resulted only in assurances that my 
parts would be mailed "Real Soon Now." 
That was several months ago. I have never 
been informed that there would be any 
delay in delivery of my order. 

Priority One Electronics continues to 
advertise and take orders for the same 
parts that I have yet to receive! 

Bob Harrington 
Duquesne, PA 

Priority One Electronics replies: 

First, allow us to apologize for the 
delays associated with your order. On 
August 30, the day after we received your 
order, we shipped the items that were 
available. But for Prometheus Products' 
inability to deliver the balance of your 



order, the order would have been 
shipped complete. 

As a rule, we advertise only those items 
we have in stock or for which we have 
received a firm commitment from the 
manufacturer that the product will be 
available by the time our advertisement 
is published. Our decision to advertise 
Prometheus's products was based on 
that company's promise of delivery. 

Due to production problems, Prome- 
theus was unable to deliver the options 
processor and display you ordered as it 
had promised us some three months ear- 
lier. Because we had received numerous 
broken promises from Prometheus that 
the processors and displays would ship 
"any day," we were hesitant to launch a 
major campaign to notify our customers 
of a shipping date and instead concen- 
trated our efforts on pressuring Pro- 
metheus into expediting our order. When 
you contacted our customer-service 
group, we could relay to you only the 
limited information we had obtained 
from Prometheus. 

Finally, after whatever flaws that 
delayed production were corrected, at 
our insistence, Prometheus worked 
through a weekend to ft 11 our back orders. 
We are proud to say that we shipped all 
our customers' orders in only that part 
of a day that it took for us to receive the 
product and package the outgoing 
orders. 

We are happy that we were able to 
complete your order. If Prometheus had 
not delivered when it did, our next 
course of action would have been to 
cancel all our orders for this product. 

We regret that these events may have 
soured your taste for our company. How- 
ever, we understand your position and 
appreciate your feelings. It is our sincere 
hope that this experience does not un- 
justly bias any future decisions you may 
make regarding shopping via mail order. 
John C Gunn 
Director of Consumer Affairs 
Priority One Electronics 

Notes on the VU68K 

Remember "The VU68K Single-Board 
Computer" described by Edward M. 
Carter and A. B. Bonds (January 1984, 



page 403)? Well, I finally completed it and 
found it to be an excellent vehicle to learn 
about the marvels of the 68000 with little 
expense. BYTE and the authors are to be 
commended for the article as there are 
still readers who want to learn about 
microcomputers from the ground up. 

Here are a few suggestions for others 
who may be having problems with the 
project. The address lines A 21 and A22 
are incorrectly connected to the terminal 
ACIA (ICII) in the wiring diagram and 
should be reversed. I tied BR, BGACK, and 
BERR high although it may not be neces- 
sary. Lastly, the monitor program (VUBUG) 
as I received it was assembled with a one- 
pass assembler, and therefore all forward 
references must be resolved before you 
can use it. 

Walter R. Curtice 
Princeton Junction, NJ 

Remote Diagnostics 

I found Phil Lemmons's editorial concern- 
ing remote diagnostics both interesting 
and informative ("Service and Support," 
February, page 6). As more systems are 
being sold to first-time computer users, 
the need for better repair service is 
becoming an even greater factor than the 
performance features of the system. 

We at RACET have long believed that the 
key to success in the systems-house busi- 
ness is support. Although we're a small 
company, our customers expect big- 
company support. Several years ago, we 
developed a series of diagnostic tests for 
checkout of the hard-disk subsystems that 
we sold to the Radio Shack market. The 
diagnostic was set up so that it could be 
run via remote (modem) connection, en- 

[conlinued) 



LETTERS POLICY: To be considered for publica- 
tion, a letter must be typed double-spaced on one 
side of the paper and must include your name and 
address. Comments and ideas should be expressed as 
clearly and concisely as possible. Listings and tables 
may be printed along with a letter if they are short 
and legible. 

Because BYTE receives hundreds of letters each 
month, not all of them can be published, letters will 
not be returned to authors. Generally, it takes four 
months from the time BYTE receives a letter until 
it is published. 



14 B YTE • JUNE 1985 




Maynard's new state-of- 
the-art tape backup 

svstem can back up the 
average 10MB hard drive 
in just 3 minutes! Protect 
select files or back up 
your entire hard drive 
with a simple command. 
Offers unmatched 
efficiency and comes 
with our industry-leading 
1 -year warranty. 
The MaynStream™ is 
available in 20MB, 
27MB, and 60MB, and 
as an internal unit for 

the AT. 

Compatible with IBM, 

Compaq, and NCR per- 
sonal computers.t 

•Actual time: 2 min/57 sec. Total files 

mTmoryanS one 10MB hard disk dnve. 

YoTactual back-uptime may vary. 
+IBM is a trademark of International 
Business Machines. Compaq .s a 
Trademark of Compaq Computer Cor- 
poration. NCR is a trademark of 
NCR Corporation. 



WPE : BACKUP SVSTEM 
BY MAYNARD ELECTRONICS 



Mayiprd Electronics 

Shaping Tomorrow's Technology 

430 E. SEMORAN BLVD., CASSELBERRY, FL 32707 
305/331-6402 Inquiry 268 



If you're tired of waiting, 

you're using the wrong file manager. 




Be fast. Btrieve.™ 

If batch jobs and reports turn wait- 
ing time to nighttime, then wake up! 
You're using the wrong file manager. 

Btrieve™ file management hates 
waiting as much as you do. It's writ- 
ten in assembly language especially 
for the IBM PC . And based on 
b-tree file indexing, with automatic 
balancing for access speed that won't 
degrade as your database grows. With 
Btrieve, your applications always run 
fast. So you'll be out the door faster. 

The standard for networking. 
Btrieve/N (network version) sets the 
standard for the industry's most 
popular LANs, including IBM's PC 
Network. Btrieve/N offers safe net- 
work file management that coor- 
dinates simultaneous updates and 
prevents lost data. 

Automatic file recovery. Btrieve pro- 
vides automatic file recovery after a 



system crash. Your Btrieve data always 
comes back intact. 
Fully-relational data management. 

SoftCraft's entire family of products 
gives you a complete, fully-relational 
database management system. 
Rtrieve™ adds report writing capabili- 
ties. Xtrieve™ speeds users through 
database queries with interactive 
menus. 

For professional programmers. 
Btrieve is the fast, reliable answer for 
all your application development in 
BASIC, Pascal, COBOL, C, FORTRAN, 
and APL. With Btrieve, you can 
develop better applications faster. 
And know they'll run— fast. 

SoftCraftlnc. 

P. O. Box #917 Austin, Texas 78766 
(512) 346-8380 Telex 358 200 




Suggested retail prices: Btrieve, $245; Btrieve/N, $595; Xtrieve, $195; Xtrieve/N, $395; Rtrieve, $85; 
Rtrieve/N, $175. Requires PC-DOS or MS-DOS l.X, 2.X, or 3.X. 



LETTERS 



abling our support people to check out 
a reported problem without flying all over 
the country. 

We have since migrated to the IBM PC 
market, where we offer hard-disk and tape 
subsystems capable of storing from 100 
to 400 megabytes. Our remote-diagnostic 
program allows us to check out the disk, 
tape, and controllers and isolate down to 
the module level. We can then expedite 
the replacement module or component to 
the customer before a field technician is 
sent out. This procedure saves our 
customers time and money and improves 
the relationship with their customers. 

For us, remote diagnostics has been 
standard practice for several years and we 
agree totally that the industry should 
follow suit. 

Thomas S. Bernard 

Vice President, Marketing and Sales 

RACET Computes Ltd. 

Orange, CA 

ICONOCLASM AND THE MAC 

Ann Marchant's letter on icons ("Icons Are 
Arcane," February, page 24) agrees with 
my own experience, but there's another 
example of their use that started 4990 
years later than hers. We now see rabbits, 
turtles, and globs of oil used on farm- 
equipment instrument and control panels 
where we used to see plain English. The 
Dymo labeler solved most of the problem, 
but there were a couple of side effects. 
First the suspicion farmers had that 
agricultural engineers were illiterate was 
reinforced. The second was more perti- 
nent. Several of my former professors and 
classmates have worked on projects in the 
third world. They found that the locals' 
knowledge of English rarely extended to 
the fables of Aesop, and there was a prob- 
lem if rabbits or turtles were not part of 
the local fauna. Training people who don't 
know how to drive a car to operate com- 
plex modern farm machinery is enough 
of a problem without having to interpret 
nonsensical symbols for them. 

My own experience with the Macintosh 
was an exercise in frustration. I was look- 
ing for something better than my TRS-80 
Model PC-2 pocket computer, and I got 
the chance to use a relative's Mac for two 
days. I ran a series of small benchmarks, 
and I could edit a program on the PC-2 
far more quickly than I could on the Mac. 
The mouse is no substitute for a good set 
of cursor and function keys. I was so sure 
this turkey would never fly that I got a bit 
paranoid and wiped the Apple He and lie 
off my shopping list as well. I bought a 

[continued) 



16 BYTE • IUNE 1985 



Inquiry 374 



ProModem 1200... HOT" LINE 



Our ProModem 1200 Makes 
Smart Modems Look Dumb 



ProModem 1200 
(RS-232) 




Send Or Receive 50 Pages Of Text 
Without Tying Up Your Computer 



COMPUTER 
BUSY 



COMPUTER 
TURNED OFF 




No wonder Smart Modems, Cats, and Maxwells 
cringe when compared to our $495 ProModem 
1200, an expandable 1200/300 baud modem 
for use with all personal computers. It costs 
less, but is smarter than the rest. 

And when you add our $99 Communica- 
tions Buffer and Alphanumeric Display options, 
ProModem 1200 becomes a veritable genius! 

Imagine, you unplug your computer, take it 
home for the weekend, and while you're gone, 
ProModem 1200 answers the phone, collects 
messages up to 50 pages long, sends out 
electronic mail, and displays all events with the 
exact time of each. Thanks to ProModem 1200, 
expensive, hard-to-use communications soft- 
ware isn't needed. The communications is in the 
modem, and electronic mail becomes aback- 
ground function, where it belongs. 



TfUJjoLku- 




ProModem 1200M 

(Macintosh) 




" MM ' 



Simple To Install And Use 

Our Communications Buffer is a 4 by 6 card that 
plugs into the ProModem 1200 motherboard. 
It comes with 2K of CMOS battery backed-up 
memory, expandable to 64K. Part of the mem- 
ory is used as a dialing directory with the 
balance reserved for storage. For $99 more, 
a front panel Alphanumeric Display can be 
added to show time, date, and 24 status and 
help messages. These two powerful options 
can be included at time of purchase, or can 
be added later. 

Hayes Compatible 

ProModem 1200 is Hayes compatible but that's 
where the resemblance ends. Our standard 
$495 modem includes a real-time clock/ 
calendar. Hayes charges hundreds more for a 
Smart Modem with a time-base. Nor do they 
have electronic mail capability at any price. 



ffTTT 



/ i \, 





ProModem 1200 contains a battery backed-up real-time 
clock/calendar, a large dialing directory and can send or 
receive messages up to 50 pages long without 
• tying up the computer. 



Send for complete details and the name 
of the Prometheus dealer nearest you. 



PRODUCTS INCORPORATED 

4545 Cushing Pkwy. • Fremont CA 94538 



8Kgs&- 



4151490 



-2370 



Inquiry 340 



JUNE 1985 -BYTE 17 



TM 

RUN/C: 

The C Interpreter 

Only s 149.95! i 




For both 

the beginner and the C professional, 

RUN/C: The C Interpreter 

makes program development easier and 
faster. With RUN/C all those C programs you've 
been writing — or have been wanting to write — 
can be up and running in a fraction of the time. 

The beauty of RUN/C is that it provides 

a BASIC-like user interface for C; it allows the user 

to edit and debug code immediately and interactively 

RUN/C is the first program to make C a user-friendly language. 

Although C is structured, compact and FAST, the writing and testing 
of C programs is often a tedious process. RUN/C helps bring up to 
speed both your programs and your C programming skills. C 
programming has never been so fast and enjoyablel 

When running under RUN/C, yourC program performs exactly as it 
would if it were compiled (although slower since RUN/C is a true 
interpreter). If your program does have an error, RUN/C finds it, 
gives you a comprehensive error message and allows you to correct the 
error on the spot. Once you are completely satisfied with your C 
program it can be SAVEd, then compiled and linked using your favorite 
C compiler. 

RUN/C offers easy and familiar commands such as LOAD, LIST, 
SAVE. RUN, etc. A powerful line editor is built right in. RUN/C's 
SHELL command will also allow you to use your own editor for 
extensive full-screen editing, and then return your newly edited 
program to RUN/C — all within a single, unified environment. 



RUN/C offers: 

• A robust implementation of 
standard Kernighan and Ritchie C. 

• Full floating point, 8087 math 
chip support, structures, 
unions, initializers, casts and 
more than 100 built-in standard 
C library functions. 

• An easy-to-read 475-page 
manual filled with useful 
examples to help you master 
the C language. 

• TRON, TRACE and DUMP 
diagnostics PLUS a program 
profiler. 

For immediate delivery 



• Printer and asynchronous 
communications support. 

• A full set of buffered and 
unbuffered file I/O functions. 

• Nearly 100 sample C programs 
on disk illustrating the most 
important C functions and 
concepts. 

• System Requirements: 
IBM® PC or compatible with 
PC-DOS 2.0 or MS™-D0S 2.0 

CALL for information on non-IBM 
compatible MS-DOS systems. 

or more information: 



Call 

1-800-847-7078 

In NY, 1-212-860-0300 



Lifeboat 7 



Lifeboat™ Associates 1651 Third Ave. New York, NY 10128 



LETTERS 



emark of Age of Reason Co. 



"Iandy 1000 and like it so far. although it 
is still an immature system. The Text word 
processor of DeskMate, on which this let- 
ter is being written, is a lot nicer than Mac- 
Write. Worksheet, Filer, and the BASIC 
have a few problems. The Radio Shack 
DWP-210 printer is a bit faster than adver- 
tised, running the 60-column Shannon test 
(discussed on page 207 of Sergio Mello- 
Grand's "The Art of Benchmarking 
Printers." February 1984, page 193) at 19.7 
characters per second (cps) rather than the 
claimed 18 cps. 

On further reflection, I think the Mac 
may find a niche in the educational and 
graphics markets, but it will never chal- 
lenge the MS-DOS machines for the busi- 
ness market unless someone finds a way 
to bypass the bells and whistles. 

Jack Monteith 
Balcarres, Saskatchewan, Canada 

The Origin of 

In his review of the book Alan 'Wing: The 
Enigma (February, page 65), G. Michael 
Vose mentioned r Hiring's habit of writing 
zero as 7" as possibly the origin of the 
computer habit of writing zero as to 
differentiate it from the letter O. 

I own an ancient Model 1 7 Teletype that 
I am sure, judging by its condition, goes 
at least as far back as World War II, and 
it uses a "0." I think the convention goes 
back to telegraphers who had to clearly 
distinguish between the two as they hur- 
riedly transcribed the clicking of the wires. 
William D. A. Geary 
Deer Park, NY 

GPIB VS. HP IB 

I read Thomas R. Clune's article "Interfac- 
ing for Data Acquisition" (February page 
269) with great interest. I am involved with 
standards, both in the IEEE and HP, for 
devices that use the IEEE-488 bus. He has 
done a great service in describing the 
attributes of a communication medium 
that has eased the construction of instru- 
ment systems for years. I do, however, feel 
that a few points in the article need clari- 
fication. 

Hewlett-Packard never uses GPIB in ref- 
erence to any of its products. We always 
use HP-IB. Our lawyers say the hyphen is 
important because it protects the HP 
trademark. 

I was a little confused by the way Clune 
differentiated between command and 
data modes. I have always thought of the 
command mode as involving setting up 
which device would talk and which would 
listen. Technically, sending messages to a 

[continued) 



18 BYTE • JUNE 1985 



Inquiry 248 



40ut Of 5 PC-ATExpansion Boaid 
Buyers Own Advantage!" 



The overwhelming choice of IBM® 
PC-AT users, Advantage! from AST 
sets the standard in high-powered 
multifunction enhancement. 
Advantage! was the first multifunc- 
tion board for the PC-AT. And it 
remains the leader by providing mil- 
lions of characters of memory capac- 
ity, two serial ports, a parallel port 
and a game port. All in a single expan- 
sion slot. 

First In Memory. All it takes is 
Advantage! There's no need to add 
other cards or hard-to-find chips 
on your system board. Whether you 
have an 256K, 512K or 640K AT, our 
unique memory addressing tech- 
nique lets you add up to 3 Megabytes 
of parity checked user memory 
efficiently and economically. For 
flexibility, Advantage! can use either 
64K or 256K memory chips. And 
of course, it supports your ATs high 
performance 16-bit bus and faster 
program processing speed. 

Now you can have the extra 
memory to run integrated business 
software such as Symphony™ and 



Framework™ To make full use of new 
concept windowing software such 
as DESQ™To utilize multitasking pro- 
grams such as IBM's TopView™ or 
multiuser operating systems such 
as XENIX7 M To handle larger amounts 
of data, faster. Or for RAM disks. 

First In I/O. Here's all the I/O capa- 
bility you need now, even if you're 
starting with a base model AT. Every 
Advantage! card includes an AT 
compatible serial port and a parallel 
port so you can connect printers, 
plotters, mice and modems. Or with 
the appropriate software, you can 
connect other terminals to create 
multiuser environments. 

With our optional second serial 
port you can attach even more peri- 
pherals, while our optional game 
port lets you plug in joysticks and 
other cursor-control devices for 
business or just for fun. 

First In Quality. AST's reputation 
is built on quality products, qual- 
ity support and quality service. Our 
complete documentation means 
Advantage! is exceptionally easy 



to install and use, but if it's not 
enough we're always here to help. 

Four out of five buyers agree, the 
choice is Advantage! -only from AST. 
Ask your dealer, or call our Customer 
Information Center (714) 863-1333 
for more information. AST Research, 
Inc., 2121 Alton Avenue, Irvine, CA 
92714 TWX: 753699ASTR UR 



FEATURES 


Memory Expansion 


I/O Expansion 


• 128Kb to 3.0Mb in 


• Up to 2 Serial 


a single slot 


Ports (1 optional) 


• User Upgradeable with 


• Parallel Printer 


either 64K or 256K 


Port 


memory chips 


• Optional Game 


• Split Memory Address- 


Port 


ing rounds out APs 


Advantage! 


system memory to 640K 


Supports AT's Full 


and continues memory 


Program Process- 


expansion at 1Mb 


ing Speed 



Advantage! trademark of AST Research, Inc. IBM PC-AT and 
TopView trademarks of International Business Machines Corp. 
Framework trademark of Ashton-Tate. Symphony trademark 
of Lotus Development Corp. DESQ trademark of Quarterdeck 
Office Systems. XENIX trademark of Microsoft Corp. 




R€S€flRCH INC. 4 

Inquiry 4 for End-Users. 
Inquiry 5 for DEALERS ONLY. 




INTERRUPT 
PRODUCT 




w fe 







. 



mm* 



THIS MAJOR 
INTRODUCTION TO 

YOU SOMETHING 
REALLY 

IMPORTANT. 





















ft» 




THE BIG NEWS IN DISK/TAPE IS PC/T, A 
SENSIBLE NEW APPROACH TO ARCHIVAL 
STORAGE. 

We've tamed tape. And made it docile. 
By making it DOS-like. 

So, while this started as an ad for our 
five new HardFile™ subsystems, which 
deliver 25 to 80 megabytes of hard disk 
storage and 60 megabytes of tape backup, 
instead we want to introduce you to PC/T.™ 

PC/T is a new format that makes 
tape a more sensible storage solution for 
personal computers. It puts tape on line, 
in real time, for instant access. And frees 
your hard disk for your most current data. 

You already know how to use PC/T 
Because it responds to standard DOS 
commands. 

Here's the big news: just like any 
DOS-controlled hard or floppy disk, PC/T 
enables you to create directories and files 
on tape. Then you can call up the exact file 
you need, and change a portion of the tape 
without having to erase and overwrite the 
entire cartridge. 





Without PC/T, you have 
to rewrite the entire 60MB 
cartridge each time you 
make a single change. 



With PC/T, you create and 
directly access files on 
tape, just like with floppy 
or hard disk. 



PC/T formats each new tape cartridge, 
just like you format any hard or floppy 
disk, locking out bad blocks to assure that 
every bit of data you write to tape is 
recorded with utter accuracy. 

What's more, PC/T gives tape true 
error correction capability. 50% redundancy 
during write operations ensures 100% 
reconstruction of data lost because of oper- 
ator error, dust and dirt, or everyday wear 
and tear. 

There is a catch. You can get your 
hands on PC/T just one way: Buy one of our 
powerful new HardFile subsystems. With 
disk plus tape. Or tape alone. Which brings 
us back to where we started. And gives 
you a place to start. Just call 1-800-228- 
DISK for the Tallgrass dealer nearest you. 

TALLGRASS SELLS MORE HARD DISK 
STORAGE WITH CARTRIDGE TAPE 
BACKUP THAN ANYONE IN THE 
WORLD. 



TALLGRASS 9 
TECHNOLOGIES 

COMMITTED TO MEMORY 

Inquiry 399 



Hard File'" and Tallgrass' 1 ' a re trademarks 
of Tallgrass Technologies Corporation 
© 1985 Tallgrass Technologies 




datasouth 
Wheels Out 
your new 
Corporate 
Image 




Dear Businessperson: 

A good daisywheel printer 
should work like a pin-stripe 
suit for your letterhead . 

That's why you need a new 
DaisyWheel 36 from Datasouth. It is, 
literally, a very impressive machine. 

The DaisyWheel 36 is quick, with a top speed of 36 cps. 
It f s more capable than any other daisywheel in its class, 
with superscripts ? subscripts > boldfacing, under lining , 
text reprinting, red & black color printing and proportional 
spacing, among other impressive features. And with its 
Diablo 630 compatibility, your DaisyWheel 36 will get along 
with just about any computer in your office. 

Your secretary will get along with your DaisyWheel 36 
too — thanks to its sheet and tractor feed options, cartridge 
ribbon, and a whole garden of distinctive daisywheel type 
faces, each with its own protective cassette. 

Best of all, the DaisyWheel 36 comes from a company 
with a most impressive name: Datasouth — the name that 
means high performance. 

So wheel over to your Datasouth Dealer and run some of 
your best letterhead through a new DaisyWheel 36, the high 
performance daisywheel from Datasouth. 

By the way, the DaisyWheel 36 lists for just $995 

Which is a pretty good price for the 
best image around. 

Eventually yours, 



DaisyWheel 36 




data 




P E R F O R M A N C E 



Datasouth Computer Corporation 
Box 240947 • Charlotte, NC 28224 
704/523-8500 • Telex 6843018 DASOU UW 
Inquiry 132 



CALL TOLL FREE: 

1-800-222-4528 






LETTERS 



DMM (digital multimeter) to set up its 
measurement function is done in the data 
mode. The message is going from the 
computer (talker) to the DMM (listener). 
During this time the controller function in 
the computer is inactive. 

While service requests and parallel polls 
are often used to indicate unexpected 
conditions, they have applications beyond 
just indicating problems. A common 
usage is to synchronize stimulus and mea- 
surement devices. A source may take a 
significant length of time before its out- 
put is stable. By asserting SRQ (service 
request) when everything is ready the 
device signals the computer that a mea- 
surement can be taken. Some instruments, 
like swept-spectrum analyzers, take quite 
a while to complete a measurement. Using 
polling methods, the computer can pro- 
cess other tasks while waiting. 

Table 1 of the article described the bit 
pattern "NllSSSSS" as a secondary ad- 
dress. Actually it should be described as 
a secondary command. A secondary com- 
mand has meaning after either a parallel- 
poll configure or a primary address. The 
secondary command after a parallel-poll- 
configure command programs which bit 
the device will drive during a parallel poll. 

The other use of secondary commands 
is for secondary addressing. A device may 
implement extended talker or extended 
listener functions. If so, the device must 
receive its primary address followed by its 
secondary address in order to be ad- 
dressed. Using secondary addresses to 
program device functions is not generally 
done. A device may have several TE (ex- 
tended talker) and LE (extended listener) 
functions to allow access to various parts 
of the instrument. Conceivably, a device 
could contain both a power supply and 
a voltmeter. One secondary address 
would allow programming messages to go 
to the voltmeter section and another 
would allow them to reach the power- 
supply section. 

I'm not sure 1 would describe REN 
(remote enable) as a 'warm boot." REN 
gives the controller charge over where the 
instrument will receive its instructions. 
While REN is false the front panel is ac- 
tive. If REN is true and the listen address 
is received, the front panel is deactivated. 
I think the description of IFC (interface 
clear) as a "panic button" is very accurate. 

The IEEE has a companion document 
to IEEE-488 called "IEEE Recommended 
Practice for Code and Format Conven- 
tions" or ANSI/IEEE Standard 728-1982. 
This standard is directed toward program- 

[continued) 



Data 
communication 

problem? 

Solve it -with, a 

Bay Tech 

multipart controller 




Fifty easy-to-use models for cost-effective, RS-232C 
serial port expansion. 

■ Adapt your micro to industrial control and data 
acquisition applications. 

■ Add more terminals to 
your existing computer 
system. 

■ Allow your computer to 
share or select printers. 

■ Enable your computers 
to use the same data 
communication lines by 
multiplexing. 

■ Simplify your network 
with any-device-to-any-device communication. 
These intelligent multiports feature many 
user-programmable functions and are available in 
5, 9, 12 and 18-port sizes, $279 to $1,795. 

Call or write for complete details. 




•► 



BAY TECHNICAL ASSOCIATES, INC 

DATA COMMUNICATIONS PRODUCTS 
800/523-2702 fcr 601/467-8231 



Highway 603, P.O. Box 387, Bay Saint Louis, Mississippi 39520 
Telex: 910-333-1618 EasyLink: 6277-1271 



Inquiry 47 



JUNE 1985 -BYTE 23 



LETTERS 



ming and response messages. The IEEE 
has also formed a committee, P98I, to 
work on extending and refining the cur- 
rent standards. My article, "lest/Control 
Update: GPIB Instruments" [Electronic 
Engineering Times, December 17, 1984, page 
47), may be of interest. 

I think the BYTE article did a good job 
of communicating the fundamental capa- 
bilities and advantages of the IEEE-488 



bus. The application example demon- 
strates the power that is available to the 
user. I am convinced that this interface will 
become more widely used with personal 
computers. I appreciate your efforts in 
spreading the word. 

Stephen Greer 

Interface Engineer 

Hewlett-Packard 

Loveland, CO 




Choose from our Stand Alone, Intelligent, RS-232 units. 

COMPATIBLE WITH ANY COMPUTER OR TERMINAL 

GANGPRO-8 $995.00 UV ERASERS 

High throughput. Gong 8 EPROMS with the ECONOMY MODEL QUV-T8/1 $49.95 

fast Algorithm. Optional 512K buffer. Erases over 15 EPROMS. Plastic case. 

Programs ALL 24 pin & 28 pin EPROMS. TwnTTSTDTJVT qttvta/ow SAAO* 

Otherunitstogang24EPROMS. INDUSTRIAL QUV-T8/2N $68.95 

_ _ Metal case, UV indicator, tray, erases over 15 

PROMPRO-8 $689.00 EPROMSinl5 minutes 

Powerful commands, easy communi- INDUSTRIAL QUV-T8/2T $97.50 

cations, 128/256K buffer. Alpha Display, With 60 minute timer and safety switch. 

?^ l j!^? i g I i c lSX pad option ' Proarams INDUSTRIAL OUV-T8/Z $124.95 

ALL EPROMS & MPU s. Fast Eraser, 15 EPROMS in 7 minutes, 30 EPROMS 

PROMPRO-7 $489.00 inl5 minutes - 

32K RAM buffer, ideal for programming PRODUCTON UNIT. . . $149.95 

8748, 8749. other Intel MPU's arid 16K-128K Model ULTRA-LUT". Erases 50 EPROMS in 

EPROMS. 15 minutes. 

«™~, ««-•*., TOLL FREE 1-800-EE1-PR0M 

BIPOLAR & PAL Programmers . . .Call! (331-7766) , FLORIDA (305) 974-0967 

TELEX 383 142 AVAILABLE SOFTWARE DRIVERS 

L IBM PC 2. APPLE n 3. Intel-MDS 4. CPM 

5.TEXTRONTX8002 6. COMMODORE 64 7. TRS-8Q COLOR 8. FLEX 

LOGICAL DEVICES, INC. 

DEPT 6, 1321-E N.W. 65th PLACE • FT. LAUDERDALE, FL 33309 

DISTRIBUTORS INQUIRY WELCOME Inquiry 2 5 4 



QGH3QQQQ 



Thomas R. Clune replies: 

I appreciate the clarity of your well- 
informed remarks. 1 do, however, think 
that you have overstated the sharpness 
of the distinction between command and 
data modes. For example, a DMM manu- 
facturer would be perfectly free to treat 
its product as three instruments in one. 
The voltmeter could be given a different 
secondary address from the ohm meter, 
etc. Thus, addressing the voltmeter to 
talk would be functionally equivalent to 
selecting the volts function in data mode 
on, for example, the HP 3 47 8 A. Further, 
commands like GET are, to my mind, 
more like programming statements than 
address information. Having said that let 
me thank you for your corrections and 
additions to my remarks. 1 look forward 
to reading your article in Electronic 
Engineering Times. 

Conversion Utilities 

I read with interest 'led Carnevale's "C to 
Pascal" (February, page 138). Carnevale of- 
fered a filter program for converting C 
source code into a form that requires 
minimal editing to produce the corre- 
sponding Pascal. The author's explication 
of his problem and the chosen method of 
solving it were informative and lucid. This 
article was also valuable as an illustration 
of program construction. Your readers 
may be interested to know of an alter- 
native method for carrying out such con- 
versions in a few minutes without pro- 
gramming. 

The WP Toolset provides 50 utilities for 
the IBM PC including a program to make 
any set of regular substitutions in disk files. 
This general-purpose filter makes multiple 
global replacements in one pass, replac- 
ing any string of printable or nonprintable 
characters with replacement strings of 
your choice. The replacements are stored 
in an ASCII file with nonprintable charac- 
ters represented in hexadecimal. The filter 
can be called from the command line or 
batch files for conversion of programs, 
word-processing files, or any data whose 
line delimiters need modification. The WP 
Toolset is available for $39 from iRr Soft- 
ware, 28 Ridgewood Rd., Concord, MA 
01742. 

Gail Johnsen 

iRr Software 

Concord, MA 

Art Appreciation 

The illustration on page 96 of your March 
issue, by artist Barrett Root, is without a 
doubt one of the finest that has ever ap- 

[continued) 



PERSONALITY 
PROBLEM? 

UNIX™ and DOS™ At the Same Time! 







Also 
available 
on the 
PC/XT and 
compatibles 






Looking at an IBM PC/AT? Happy with DOS but want 
UNIX? Happy with UNIX but want DOS? Want them 
working together? 

Get The Connector!™ 

The Connector is a revolutionary product that allows 
DOS applications to run on the IBM PC/AT or XT 
under VENIX/86 ( the first licensed AT&T UNIX 
operating system for the IBM PCs) or PC/IX. That 
means you can add one or more terminals to your AT 
which run programs using multi-user VENIX/86 to 
share the disk and printer. Switch between UNIX and 
DOS at the console with a single command. And run 
more than one task simultaneously. Like running a 
spelling check in the background while you print a 
report and run Lotus 1-2-3™ or dBaselP.' 

Get yourself an AT and load it with VENIX. Collect 
your DOS and/or UNIX applications. We'll supply The 
Connector. The right solution to your software per- 
sonality problems. 

Call for complete details. 

Unisource Software Corp. , Department 4109, 
71 BentStreet, Cambridge, MA 02141. 
Telex 92-1401/COMPUMART CAM. 

617-491-1264 





■ UNIX is a trademark of AT&T Technologies. Inc. DOSisa trademark of. Microsoft. Inc. PC/AT and PC/XT arc trademarks of IBM. The Connector Is a trademark 
of Uniform Software Systems, Inc. VENIX/86 implementation by VenturCom, Im\ 1-2- 3 and LOTUS are trademarks of Lotus Development Corp dBase! I is a 
trademark of Ashton-Tatc, 

Inquiry 411 



Getting UNIX Software 
Down to Business 

IUNE 1985 -BYTE 25 



LETTERS 



peared in a computer-oriented magazine. 

The symbolism isn't subtle, but how 
perfectly right the artist was, that demon 
terminal and computer have become our 
gods! And that the temple computer is at 
the summit of the other lesser computers 
or terminals. 

I actually know computerists who vir- 
tually worship their computers and who 
religiously do obeisance to their electronic 
gods. I'm sure that the Parthenon did not 
exert the influence on some of its 
devotees that the microcomputer does 



today on many of its owners. 

My sincere compliments and thanks to 
Mr. Root. 

Bernard A. McIlhany 
Marble Hill GA 

FACTORING WITH SI 

Thanks for Richard B. Leining's interesting 
article, "Factoring with Hyper" (March, 
page 396). The method outlined is un- 
doubtedly applicable in certain circum- 
stances. However . . . 
Instead of comparing Hyper with a so- 



Table I: The number of trials necessary to find a factor. 



N= number to be factored 
Q = actual factor to be found 
Qmax = y/~N 
Rq = Q/Qmax 



Method 

Hyper 

S1 



Rq=05 
0.125 *Qmax 
0.25* Qmax 



Rq =0.2 

OB* Qmax 
A* Qmax 



Rq=0A 

2.03* Qmax 
.45* Qmax 



phisticated program I compared it with the 
simplest factoring program possible, 
which I have called SI (Simple l). You start 
with Qmax=yf~N and try dividing N by 
each odd number smaller than Qmax. Thus 
for N= 96.00 l.Qmax= 309.84, and you try 
= 309. 307, 305, etc. The most numbers 
one can ever try with SI is Qmax/2: thus 
for 96.001 after 1 54 trials you reach 0= I 
and conclude (correctly) that 96,001 is 
prime. 

Hyper takes 7846 trials to conclude that 
96,001 is prime. But wait! One expects to 
use Hyper for numbers that can actually 
be factored. The question is, how long do 
you have to search before finding the fac- 
tor? If we define Qmax as equal to V/V 
and Rq as equal to Q/Qmax, where O is the 
actual factor that will be found by either 
Hyper or SI, we can calculate how many 
trials each will require. For SI. TYials= 
Qmx*[\-Rq)l2. For Hyper, Dr\a\s=Qmax* 
(Rq+ \lRq-2)l4. If Rq is near 1, Hyper gets 
the job done faster than SI. But as Rq 
becomes small, Hyper suffers, lable I il- 
lustrates some examples. 

[continued) 



8 MHz/ 1 Megabyte PC 



Where doTAVA PC, WESTERN PC, CONQUEST PC, and STAR PC get their 
PC compatible system boards? They use the ADVANCED PC from ADVANCED 
LOGIC RESEARCH, INC. 

ADVANCED LOGIC RESEARCH (ALR), the original designer of the TAVA 
PC, is currently offering the ADVANCED PC to OEMS, DEALERS, and 
SYSTEM INTEGRATORS. 

The ADVANCED PC is a single board computer that was designed to 
maximize compatibility with the IBM PC Its features include a switch 
selectable 8MHz/4.77 MHz CPU clock, 1 megabyte memory without 
addition of add-oncards, 1 serial and 1 parallel port, and 5 expansion slots. 
The BIOS used on the ADVANCED PC is the same that is used on the TAVA 
PC, WESTERN PC, ETC., and has proven to offer the highest degree of 
compatibility available. 

ALR also provides PC-AT storage for your PC with the ALR I/O FLOPPY. 
The standard features of the I/O FLOPPY include support for 1 .2 MB HIGH 
DENSITY drives, 8" drives, as well as standard 360K drives. Optional 
features include an AST compatible clock/calendar interface, RS232 
serial port, and 1 parallel port. 




ALR1001T -ADVANCED PC TURBO SYSTEM 
26 BYTE • JUNE 1985 



ADVANCED PC 
COMPLETE SYSTEM $1 695 




mm 

(714) 832-7808 
(714) 832-7809 



The complete system includes: 
8 MHz CPU, 256K Memory, 2 Drives, ALR I/O 
Floppy with AST compatible Clock/Calendar, 
Monochrome Display Card and Monitor, 5151 
Style Keyboard. 



fflM, 



IADVANCED LOGIC RESEARCH, INC. 
15455-B Red Hill Avenue, Tustin, California 92630 

TELEX - 756-731-ANS/WESTERN COMP. 

Inquiry 1 5 for End-Users. Inquiry 16 for DEALERS ONLY. 



Ven-Tel's Half Card™ modem 
is in all the best computers. 

Here's why. -' 



Ven-Tel gives you lots of reasons to buy our Half Card 1 
modem for your IBM PC or compatible. The Half Card 
Is a complete system that lets you communicate with 
other PCs, mainframes, and databases effortlessly. 
It Includes Crosstalk-XVI® software. It's reliable. 
It's got all of the features you want. And It's 
a good value. 

Do You Own One of These 
Computers? 

Chances are you do. And If you're 
thinking of buying a modem, consider 
the Half Card™. Because of its small size, 
the Half Card™ fits in more computers, 
including all of the models we've listed 
here. The Half Card™ is small, so it fits in 
short slots or long. That means you can 
save your long slots for other expan- 
sion uses. 

Effortless Communication 
Each Half Card™comes with Crosstalk-XVI® 
communications software, by Microstuf. It's 
the easiest to use, whether you're a beginner 
or an old hand, and the most powerful. A full 
on-line help menu makes using Crosstalk® for 
the first time a snap. It can turn your PC into a 
terminal on a mainframe computer with its power 
ful terminal emulation feature. It will even oper- 
ate your PC when you're not there. You can call 
intoan information service such asThe Source or Dow Jones News 
Retrieval, or transfer files and electronic mail, all at the touch of 
a button. The Half Card™ connects your computer to the world. 
Effortlessly. 

More Modem for Your Money 

When you buy the Half Card™ you don't need anything else. The 
Half Card™ is a complete communications package that includes 
at ull-f eatured modem and the best known software on the market. 
Complete easy-to-understand instructions with full technical support 
on installation and use. And a very competitive price. The Half 
Card™ with Crosstalk-XVI® software, retails for only $549. 




Features 

. 1200/300 baud auto-dial, auto-answer. 
. Uses the industry standard "AT" 

command set. 
. Runs with virtually all communications 

software, including Smartcom II and PC 

Talk III and integrated packages such 

as Symphony and Framework. 
. Includes Crosstalk-XVI® software. 
. On-board speaker and extra phone jack 

for easy switching from voice 

to data mode. 
. Selective tone or pulse dialing; 

full or half duplex. 
. Automatic answer on any ring. 
• True ring or busy signal detection. 




Reliability 

Ven-Tel has been making 

modems for 10 years. Our 

experience shows. Ven-Tel's 

Half Card™ only has about 70 parts, compared 

to almost 300 on other modems. We reduced the parts 

by building the first LSI modem chip using advanced 

switched capacitor technology. What that means to you is 

greater reliability and lower power consumption, so you can 

load up your PC with expansion boards and not worry about 

heat or power problems. And we back the Half Card™ with a full 

two-year warranty on parts and labor. 

You Can Buy the Half Card™ 
Anywhere 

You can get the Half Card™ at Computer- 
Land, Businessland, the Genra Group, 
Entr6 Computer Centers, Macy's Computer 
Stores and other fine dealers nationwide. 
Also from Ven-Tel: the 1200 Plus™ an 
external modem and the PC Modem 
1200™ an IBM internal with V.22 inter- 
national capability. 

Effortless Communication 



Ven-Tel Inc. 



2342 Walsh Avenue 
Santa Clara, CA 95051 
(408) 727-5721 



Crosstalk is a registered trademark of Microstuf, Inc. Smartcom II is a trademark of Hayes Microcomputer Products. Symphony is a trademark of Lotus Development. Framework is a trademark of AshtonTate. 
Inquiry 415 JUNE 1985 • B Y TE 27 



Now last minute presentations 

can be made from 

your personal computer. 

In color. In house. In minutes. 





A black bordei^m^V appear around 
the Palette slide image which will be 
imperceptible when projected. 



Introducing Polaroid Palette. 



Whether your presentation is in 30 
minutes or 30 days, the new Polaroid 
Palette Computer Image Recorder will 
make it easier. Priced at under $1800*, 
it lets you make Polaroid 35mm Instant 
Slides or prints from personal com- 
puter-generated data. Right at your 
desk. So now you can create a presen- 
tation in minutes. Without sending out 
for processing, paying premiums for 
rush service or risking the security of 
your confidential information. 

Works with the graphics 

packages of the IBM PC or XT, 

DEC Rainbow or PRO, Apple lie 

or 11+ and AT&T 6300. 

The Polaroid Palette is designed to 
work with many graphics software 
packages. In fact, when using such 
programs as Graphwriter, Chart- 



Master, Sign-Master, DR Draw, DR Graph, 
and ATHENA/graph, Palette can virtu- 
ally double both the horizontal and 
vertical resolution of your monitor. 
Plus, a "backfill" feature reduces raster 
lines for a smoother, more finished 
appearance. The result— presentation 
quality slides. On-the-spot. 

Color 35mm slides, even from 
a black and white CRT 

Think of it as an artists palette. 
Because Palette "paints" your graphs, 
charts and text. Youre choosing from 
up to 72 colors. If you don't want red, 
press a few keys— it s green. And if 
you re not the artistic-type, Polaroid 
has developed a menu of color sets: 
combinations of colors that have been 
specially coordinated to complement 
your presentations. And all of this is 



yours, even if you have a black and 
white monitor 

Lets you make last minute 

changes or add 

up-to-the-minute information. 

The Polaroid Palette is the fast, con- 
venient, low-cost way to prepare slides 
for your presentation. And perhaps 
even more important, Palette allows 
you to keep confidential information 
confidential. You won't have to send 
your work out to anyone again. 

So why wait until the last minute to 
find out about Polaroid Palette? 
Contact one of the Palette dealers 
listed here or call the toll-free number 
on the opposite page. Look at it this 
way, now you can change your 
presentation as fast as you change 
your mind. 

♦Suggested list price. Polaroid® 



VISIT OUR BOOTH AT THE NATIONAL COMPUTER CONFERENCE. 



Alabama: Business Graphics, Birmingham, (205) 

663-2492; The Computer Shoppe #210, Huntsville, 

(205)830-2615. 

Arizona: Computer Superstores, Phoenix, (602) 

957-6780; American Computer Svs., Phoenix, (602) 

978-3244; MicroAge Computer Store, Phoenix, (602) 

265-0065; Computerland Major Accounts, Phoenix, 

(602) 861-9667; MicroAge Computer Store, Tucson, 

(602)571-1201 or 887-1485. 

Arkansas: The Computer Shoppe #215, Little Rock, 

(501)375-5544. 

California: Drake Morton (Lomita Pacific Photo), 
Lomita, (213) 326-7077; Raytec, Inc., San Diego, 
(619) 695-8611. 

Los Angeles: Media Fabricators, Los Angeles, (213) 
937-3344 or (714) 954-0590; Computer Business 
Center, Santa Monica, (213) 452-2027; Long Beach 
Micro, Long Beach, (213) 435-3006; Advanced 
Computer Products, Santa Ana, (714) 558-8813; Photo 
& Sound, E! Monte, (213) 575-1924; Software Central, 
Pasadena, (818) 793-4101; Computerland of Simi Vallev, 
Simi Valley, (805) 583-5585; Manumit 
Microcomputers, Anaheim, (714) 520-0411; #33 
Businessland, Los Angeles, (213) 387-1938. 
San Francisco Area: Image Sales, Inc., Walnut 
Creek, (415) 932-1031 or (800) 321-1821; KSP Inc., Palo 
Alto, (415) 327-8996; Computerland/Dublin, Dublin, 
(415) 828-8090; Able Computer, Belmont, (415) 593- 
2253; Imago Data.Sunnyvale, (408) 737-9172; PC 
Support, Sunnyvale, (408) 746-2772; Photo & Sound, 
San Francisco, (415) 421-0410; #6 Businessland, San 
Francisco, (415) 989-3741. 

Colorado: Fairview Audio-Visual, Englewood, (303) 
771-6335;BFACorp., Denver, (303)777-8070. 
Connecticut: Computerease, Avon, (203) 677-7191; 
Computerease, Danbury, (203) 794-9493; 
Computerease, Darien, (203) 656-1494; 
Computerease, E. Hartford, (203) 278-1080; 
Computerease, Milford, (203)877-7447; Entre 
ComputerCenter,Stamford, (203) 967-2233. 
Delaware: RSG Computer Supplies, Inc., Newark, 
(302)368-4938. 

Florida: Micro Mart, Altamonte Springs, (305) 830- 
4076; Micro Mart, Coral Gables, (305) 445-9500; 
Micro Mart, Ft. Lauderdale, (305) 749-0330; Computer 
Station,Jacksonville,(904) 724-3174; Micro Mart, 
Jacksonville, (904) 396-8089; Kendall Computers, 
Miami, (305)274-6312; United Computers Business 
Center, Miami, (305)371-6100; United Computers 
Business Center, Miami-Bay Harbor, (305) 868-8300; 
Procomp Systems, Inc., Pompano Beach, (305) 997- 
6313; Micro Mart,Tampa, (813) 972-5000. 
Georgia: The Computer Pro, Augusta, (404) 737- 
8313; MicroWorks, Smyrna, Atlanta, (404) 980-1000; 
OTP Atlanta, (404) 688-3107; Software Atlanta, Atlanta, 
(404)934-0924;Boardroom Graphics Systems, 
Atlanta, (404) 457-2836; Southern Business 
Communications, Inc., Macon, (800) 282-5687; 
MicroWorks, Norcross, (404) 446-1678; Southern 
Business Communications, Inc., Norcross, (404) 449- 
4088, Micro Mart, Norcross, (404) 449-8081; Software 
Atlanta, Smyrna, (404) 434-4171; Computer Network, 
Smyrna, (404) 951-0134; Micro Mart, Smyrna (404) 
956-8088; Southern Business Communications, Inc., 
Savannah, (800) 282-5687. 

Illinois: Midwest Visual Equipment, Chicago, (312) 
478-1250; Eberhardt Instruments, Downers Grove, 
(312) 964-4240; Computerland, Elmhurst, (312) 832- 
0075; NorthBrook Computer, NorthBrook, (312) 480- 
9190; Software and Beyond, Schaumburg, (312) 882- 
3733; New Orient Media, W Dundee, (312) 428-6000. 
Indiana: CBM Computer Center, Evansville,(812) 
474-0555. 

Kentucky : CBM Computer Center, Lexington, (606) 
276-1519;The Computer Shoppe #209, Louisville, 
(502) 426-8787; The Computer Shoppe #217, 
Louisville, (502) 581-9109; CBM Computer Center, 
Louisville, (502) 425-7602; Micro Mart, Louisville, 
(502)895-5624. 

Louisiana: Micro Mart, Metairie, (504) 835-6481. 
Maryland: MBI Business Centers, Bethesda, (301) 
657-1611; Folkemer Photo & Computer Center, Ellicott 
City, (301) 465-7788; Software Centre Wintergreen 
Plaza, Rockville, (301) 424-3024; MBI Business 
Centers, Rockville, (301) 984-8922; Micro Mart, 
Rockville, (301) 294-9000. 

Inquiry 330 



Massachusetts: Microsource Financial, Boston, 
(617) 423-0108; The Computer Store, Boston, (617) 
426-4385; #52 Businessland, Boston, (617) 542-8099; 
Micro Store, Brockton, (617) 588-1837; The Computer 
Store, Burlington, (617) 272-8770; The Computer 
Store, Cambridge, (617) 354-4599; Entre Computer 
Center, Centerville, (617) 771-9747; Entre Computer 
Center, No. Dartmouth, (617) 997-3113; The Computer 
Store, Framingham, (617) 879-3720; Computerland 
Leominster, Leominster, (617) 534-5240; Computer 
Source, Pittsfield, (413) 443-7181; Micro Store, 
Taunton, (617) 823-8106; Microsource Financial, 
Watertown, (617) 924-5500; Computer Haus, 
Wilmington, (617) 657-6433- 
Michigan: Inacomp Computer Center, Ann Arbor, 
(313) 665-4453; Inacomp Computer Center, E. Detroit, 
(313) 445-8010; Inacomp Computer Center, E. Lansing, 
(517)351-1777; Inacomp Computer Center, Flint, (313) 
234-0161; Inacomp Computer Center, Grand Rapids, 
(616) 942-2690; Inacomp Computer Center, Holland, 
(616) 396-5006; Inacomp Computer Center, 
Kalamazoo, (616) 323-2222; Lysinger Corp., Troy, 
(313) 583-1070; Inacomp Computer Center, Troy, 
(313)649-0910. 

Minnesota: Blumberg Communications, 
Minneapolis, (612) 333-1271. 
Missouri: Photo & Sound, St. Louis, (314) 432-7190. 
New Hampshire: McAuliffe, Inc., Keene, (603) 352- 
0258; Computer Barn, Salem, (603)893-2511. 
New Mexico: BFA Corp, Albuquerque, ( 505) 292- 
1212; Computer Superstores, Albuquerque, (505 ) 
293-5370; BFA Corp, LasCruces,(505) 524-9693- 

Now 
Polaroid Palette's 
greatest partner, 
GraFIX Partner, 

is free. 

These dealers are offering 
this $149 value* free with 
your Palette purchase until 
July 15th. Its GraFIX 
Partner, the graphics editor 
that lets you paint, draw, 
add text in 20 different 
fonts, and more ... all while 
your other software is being 
run. Then with a single 
keystroke you capture the 
image on the Palette. 
So present this great team 
to yourself. Today. 

New Jersey: Performance Software, Bloomfield, 
(201) 429-9099; MBI Business Centers, Cherrv Hill, 
(609) 428-7055; Prodigy Systems, Edison, (201) 321- 
1717; Prodigy Systems, East 1 lanover, (201) 428-0200; 
Prodigy Systems, Green Brook, (201) 752-6300; TMA 
Logon, Hackensack, (201) 646-9222; Prodigy Systems, 
Iselin, (201) 283-0600; Prodigy Systems, 
Lawrenceville, (609) 452-1858; Clancy Paul Computer, 
New Brunswick, (201) 246-8585; MicroAge Computer 
Stores, Paramus, (201) 843-5678; Clancv Paul 
Computer, Princeton, (609) 683-0060; Clancy Paul 
Computer, Red Bank, (201) 747-7150; Software House 
of New Jersey, River Vale, (201) 664-5100. 
New York State: The Computer Room, Albany, (518) 
869-3818; Computer Professionals, Albany, ( 518) 438- 
0010; National Graphics, Albany, (518) 438-8411; 
Graphic Arts Computer Products, Buffalo, (716) 854- 
0004; The Computer Room, Glens Falls, (518) 798- 
1446; The Computer Room, Kingston, (914) 336-4155; 
Graphic Arts Computer Products, Rochester, (716) 
342-0602; All Things Computer, Scarsdale, (914) 
723-6262; The Computer Room, Schenectady, 
(518)382-1182. 



New York City: Future Information Systems, New 
York, (212) 732-3905 or 751-7888; Brilliant Image, New 
York, (212) 736-9661; Erin Data Systems, Melville, 
(516) 293-4114; MicroAge Computer Stores, 
Farmingdale, (516) 752-1600. 
North Carolina:-Carolina Camera Center, Inc. 
Greensboro, (919) 379-9177; Audio Buys, Raleigh, 
(919)821-1776. 

Ohio: Radgo Computer, Cincinnati, (513)752-6920; 
CBM Computer Center, Cincinnati, (513) 793-1787; 
Micro Mart, Cincinnati, (513) 621-8898; Programs, 
Unltd., Columbus, (614) 228-4610; OTEC Computer, 
Mantua, (216) 274-2818; Northeast Business Center, 
Richmond Heights, (216) 442-4808; Programs Unltd., 
Worthington, (614)431-2228. 
Oklahoma: Argus Systems, Inc., Norman, (405) 329- 
0180; Fairview Audio Visual, Oklahoma Citv, (405) 521- 
0031; Fairview Audio Visual, Tulsa, (918) 664-8020. 
Oregon: Photo & Sound, Portland, (503) 224-3456. 
Pennsylvania: MBI Business Centers, Bala-Cynwyd, " 
(215) 668-0870; MBI Business Centersjenkintown, 
(215) 576-6650; Computers for the Professional, 
Kulpsville, (215) 362-1888; S&S Klinetics, Media, (215) 
565-5388; OTI> Philadelphia, (215) 925-6300; Monterey 
Microsystems, Inc., Pittsburgh, (412) 242-1188; 
MicroAge Computer Stores, Pittsburgh, (412) 323- 
2700; Micro Mart, Pittsburgh, (412) 391-3456; MBI 
Business Centers, Wayne, (215) 687-5991. 
Rhode Island: The Computer Store, Providence, 
(401)331-0220. 

South Carolina: Southern Business Communica- 
tions, Greenville, Spartanburg, (800) 241-5312. 
Tennessee: The Computer Shoppe #219, 
Chattanooga, (615) 267-8107; Southern Business 
Communications, Inc., Chattanooga, (800) 241-5312; 
The Computer Shoppe #213, Goodlettsville, (615) 
859-4015; The Computer Shoppe #216, Knoxville, 
(615) 690-8636; The Computer Shoppe #211, 
Nashville, (615) 366-3810; The Computer Shoppe 
#214, Nashville, (615 ) 255-3486; The Computer 
Shoppe #220, Nashville, (615) 292-4496; CBM 
Computer Center, Nashville, (615) 385-1855; Micro 
Mart, Nashville, ( 615 ) 292-5600; The Computer 
Shoppe #218, Memphis, (901) 682-7082. 
Texas: The SoftSource, Dallas, (214) 361-4048 or 960- 
0413; Kimball Audio Video, Inc., Dallas, (214) 869-0117; 
#17 Businessland, Dallas, (214) 698-0374; Computer 
Superstores, El Paso, (915) 533-2215; Personal 
Computing Delta, Inc., Houston, (713) 850-8445; 
Jobar's Camera Center, Bellaire (Houston), (713) 
668-5773. 

Vermont: McAuliffe, Inc., Burlington, (802) 658- 
4444; McAuliffe, Inc., Rutland, (802) 775-1955; Entre 
Computer Center, Shelburne, (802) 985-3366. 
Virginia: Technology Services, Alexandria, (703) 
354-8668; Micro Graphics, Annandale, (703) 642-1444; 
MBI Business Centers, Arlington, (703) 892-1666; 
Carys Camera Shop, Charlottesville, (804) 293-4552; 
MBI Business Centers, Fairfax, (703) 691-8600; 
Computerland of Hampton, Hampton, (804)827- 
8899; Computerland of Norfolk, Norfolk, (804) 625- 
3427; Micro Age, Norfolk, (804) 461-6460; 
Computerland, Richmond, (804) 643-0225 or 741- 
3502; #41 Businessland, Rosslvn, (703) 524-5112; MBI 
Business Centers, Springfield, (703) 451-7100; MBI 
Business Centers, Sterling, (703 ) 430-0300 or (301) 
450-4303; MBI Business Centers, Vienna, (703) 893- 
0300 or (703) 893-0683; Computerland of Virginia 
Beach, Virginia Beach, (804) 422-8271; Micro 
Graphics, Virginia Beach, (804) 460-9080 
Washington, D.C.: Memory Systems, Inc., (202) 
429-1922; After Computer, (202) 822-0604; MBI 
Business Centers, (202) 463-7474 or 293-1390; OTR 
(202)371-2150. 

Washington State: Savant Computer Support, Inc., 
Issaquah, (206) 643-9116; Photo & Sound, Kent, (206) 
632-8461. 

Wisconsin: Graphic Business Systems, Lake Geneva, 
(414) 248-9690; Allied Computer Group, Milwaukee, 
(414)228-9333. 

CALL 800-225-1618 




Polar 




• • 



The GraFIX Partner is a trademark of Brightbill-Roberts 
and Company, LTD. *Suggested list price. 



JUNE 1985 



I Y T E 29 



inquiry 80 





CETDC EXHIBITION COMPLEX, 
Taipei Sungshan Airport, 
Taiwan, R.O.C. 

Taiwan has been staking out an increasingly 
important position in the international 
trade in microcomputers, peripherals such 
as terminals, disk drives and printers, 
various computer accessories, and software. 
Now there is an exhibition that gives you 
the opportunity to check out the latest 
products and establish business connections 
with this dynamic industry. 
Be sure to attend Computex Taipei '85. 

Organizer: 

china external trade 
development council 

201, Tun Hwa North Road, Taipei, Taiwan, R.O.C. 
Telex: 21676 CETRA. Tel : 71 5-1 515. 

Sponsor: 
CETDC, Inc. 

41 Madison Avenue, New York, N.Y. 10010, U.S.A. 
Telex: 426299 CETDC NY. Tel: (212) 532-7055. 




to You 

Yours FREE - A Sentinel Dial-A-Disk Plastic Storage System. 



Yes, for a limited time only, with each 
purchase of ten assorted color diskettes 
packaged in the sturdy Dial-A-Disk 
container, you receive, at no additional 
cost, this functional storage system. 
A $6.95 VALUE. . .FREE!!! 
The all new Sentinel Dial-A-Disk features: 

• Instant recognition of data category by 
color. 

• Staggered-step detailing that puts color- 
coding at a fingertip advantage. 



• Attractive, permanent storage for your 
Sentinel Color Diskettes. 

• Ten 100% certified diskettes in assorted 
eye-appealing colors. 

• A written guarantee that each diskette will 
read/write error free for as long as you 
own it. 

See the Sentinel Dial-A-Disk wherever you 
buy your Sentinel Color Diskettes. 



Sentinel Technologies,lnc. 

One Sentinel Plaza, Hyannis, MA 02601 /Telephone: (61 7) 775-5220 
Toll-free 1-800-323-5005 (in Massachusetts 1-800-323-5001) 



LETTERS 



One can of course use a hybrid search 
method, using Hyper until Rq=\/yf3, then 
switching to SI. But the fact remains that 
there will be little relative gain over SI 
overall unless Rq is near l. In public-key 
encryption, I am not aware of any restric- 
tion that would prevent Rq from being 
quite small— 0.1, for example. Hyper or SI 
or a combination will still take on the order 
of 0. 5 *Qmax trials to factor the key. For the 
oft-quoted 200-digit key, that's about 
0.5* 10 100 trials. And Hyper doesn't do any 
better relative to SI when the keys are 
smaller. 

The above discussion has assumed that 
a Hyper trial will burn the same computing 
time as an SI trial. In fact, a Hyper trial 
will take perhaps three times as long, in- 
volving as it does an expression with 
numbers on the order of N 2 compared to 
Si's single computation of N MOD Q Also 
note that we can swing the balance fur- 
ther by skipping every third odd number 
in SI, those that are divisible by 3. 

)OHN DELAUBENFELS 

Duluth, GA 

Richard B. Leining replies: 

Basically, we agree on the mechanics 
but not what to make of them. Let's take 
your comments one at a time. 

First, Hyper is too slow for testing the 
primality of a number like 96,001. 
Agreed. Although I've not run it manual- 
ly 1 predict 7847 trials, like your 7846. 

Hyper is used primarily where factors 
are expected to exist— yes, and it is effi- 
cient near the square root but not far 
from it The number of trials is 



I + 



(1-a) 2 
4a 



where 

a = factor/^TrT = your Rq 

and 

^/~N~ = your Qmax 

If I drop the first trial at the critical up- 
per bound of <?!>/4, then my expression is 
equivalent to your Qmax *(Rq + 1/Rq - 
2)/4. This expression for the number of 
trials was edited out of my manuscript 
Your searching of odd numbers below 
the square root is interesting. For small 
factors, it is not as trivial as it seems at 
first glance. But for your example of 
96,001, I would use a table of primes. 
There are only 168 primes below 1000. 
I suspect that there are less than 154 of 
them below the square root 309.8. But 
I don 't know how many, as my table and 

{continued) 



30 BYTE- 1UNE 1985 



Inquiry 367 



Inquiry 380- 



HOW TO CONTROL 



**'*2 



T 



Your small business compu- 
ter can give you the power to 
raise your productivity. But 
first you have to control the power you give it. 
Because even the slightest dip or surge of elec- 
tricity can result in a shocking surprise. An instant 
loss of important data or misinformation. Even 
worse, a total power line failure can create 
department devastation ... a total system crash. 
You can't afford errors, delays and other 
problems. After all, you've invested in a 
computer to increase efficiency. 
But now there's a solution you can af- 
ford The Sola SPS. This economical, 
UL listed Standby Power System 
is designed to protect personal, 
micro and mini computers ^ .f 

from AC line disturb- 



y 



OWER. 




Ill ^" m£ ances and failures. Sola SPS 

I W ■■■ m.B provides clean, regulated AC 

power to your computer when 

your power line experiences irregular voltage. Line 

dips or line surges are immediately converted to 

proper voltage. When the AC line is present, the 

SPS filters power to eliminate electrical noise. 

And when the AC line fails, the SPS goes into full 

action, providing precise AC power to the load from 

its internal battery. So the only noise you'll hear 

is the sound of performance. There's no maint- 

nance. No installation. No kidding. Just 

N. plug it in and turn it on. Why let your 

productivity rise and fall with your * 

power? The solution is as simple 

as SPS. The standby 

system that Sola 

stands behind. 



^ 




A UNIT OF GENERAL SIGHM. 



STANDBY POWER SOURCE 





Write for free literature. 1 71 7 Busse Hwy., Elk Grove Village, IL 60007 (31 2) 439-2800 



SOLA 



LETTERS 



the computer I use are at work. 

My manuscript assessed the possibili- 
ty of Hyper breaking a large Rivest- 
Shamir-Adleman cipher, described in 
C E. Burton's "RSA: A Public Key Cryp- 
tography System, Part 1" (Dr. Dobb's Jour- 
nal March 1984, page 16). 1 wouldn't 
want to pay for 10 27 trials on a big com- 
puter. I concluded that Hyper's cryptan- 
alytic virtues were limited to toy ciphers, 



especially in BASIC. Those comments 
were edited out along with my observa- 
tions about numbers the order of 
N 2 /4. 

What is the point of Hyper? Well, why 
does anyone factor? For research, 1 
guess. It fascinates me that two of the 
equations of the RS A cipher should sug- 
gest a new substitute for factoring. It is 
also interesting that equations (2) and 



Data worth keeping 
deserves a Data Defender. 




Data Defenders by Ring 
King. They're the finest quality 
protection you can buy for the 
information you have stored 
on 5 1 /4 ,; mini-diskettes and 
printout. 

The Ring King 070 Tray holds 
70 mini-diskettes in a tough 
copolymer shell with security 
lock. The Ring King Flip File i! 
binder holds 20 mini-diskettes 
and converts to a desktop 
index. Ring King Looseleaf Files 
are punched to fit standard 3- 



ring binders. Ring King Data 
Binders hold up to 8" of 9 1 /2"x 
11" or 14%" x 11" unburst 
printout. 

Ask for Ring King Data Defen- 
ders at your computer supply 
dealer. Or send for our free, full- 
color catalog of computer sup- 
port products. Write Ring King 
Visibles, Inc., 2210 Second Ave- 
nue, P.O. Box 599, Muscatine, 
Iowa 5276 1 . For customer serv- 
ice, phone (800) 553-9647, in 
Iowa (319)263-8144. 

DATA 
DEFENDER. 




Ring 



(2 A) of my article lead to factoring sub- 
stitutes that are mirror images of each 
other, one searching downward from a 
critical upper bound, the other searching 
upward from a critical lower bound, and 
both bounds found in equation (16). Has 
some mirror image ofEuler's totient func- 
tion been overlooked? 

Your interest in Hyper is appreciated. 
I'm impressed that you figured out the 
number of trials so quickly. 

Other people helped me develop the 
Hyper factoring program, to the limit of 
double-precision BASIC. Scaling down 
the entire computation by a factor of 4, 
to defer overflow, was a solution sug- 
gested by Professor Bill Viavant of the 
Computer Science Department of the 
University of Utah. 

DEC Rainbow Woes 

A few words about some bugs I have 
found in my DEC Rainbow. So far, I've had 
little luck with DEC customer support. 

• The CP/M-86/80 2.0 command to back 
up the hard disk apparently eats files at 
random. All I can advise is that you sim- 
ply not back up files; or you can spend 
all day using the PIP command. 

• Under CP/M-86/80 2.0, the MAINT com- 
mand produces erroneous results when 
large files (50K bytes) are involved or the 
hard disk is over 50 percent full. 

• Under WordStar 3.3 and CP/M-86/80 2.0 
(exact source of bug unknown), large files 
(over 30K bytes) mysteriously cannot be 
edited at times. You can edit them on 
screen, but after saving the files, they 
come back with the old text, not the revi- 
sions. Neat trick. One solution is to avoid 
writing long files and try resaving the file 
as a block write, under a new name. Back- 
ing up a work in progress should be done 
the same way; the "save-S-resume" com- 
mand, the ,l save-&-new" command, and 
the "save-&-exit" command all seem to 
have this random bug. 

• The MS-DOS operating system comes 
with a very basic user's guide; it doesn't 
even explain the directory/subdirectory/ 
path commands. In fact it tells you very 
little besides how to boot the system. Is 
there any other documentation available 
besides the $2 50-plus technical manuals? 

I also found that "upgrading" to a hard 
disk means buying a new $1500 system 
board (the one different chip can't be 
swapped) or else keeping the operating 
system on one floppy all the time; it's no 
simple upgrade, as promised, either. 

Jared Sherman 
Jackson Heights, NY ■ 



32 B YTE • JUNE 1985 



Inquiry 3 54 



FIXES AND UPDATES 



YTE'S BITS 



More Equipment Eases Access to BYTEnet 



As a direct result of the phenomenal 
response to BYTEnet Listings, we have 
recently increased the number of tele- 
phone lines and microcomputers support- 
Author to Advise C Group 



ing our new telecommunications service. 
To accommodate the upgraded equip- 
ment, we had to change the number 
called to access BYTEnet Listings. Please 



dial (617) 861-9774. When communication 
is established, please hit a carriage return 
or two so that the software can determine 
your data-transmission rate. 



An independent Lattice C Users' Group 
has been formed under the guidance of 
Bill Hunt, author of the book The C Toolbox. 
Although the group will address the needs 
of users of Lattice, Lifeboat, and Microsoft 
versions of Lattice C, membership is not 



limited to those users. 

Group members receive a 16-page 
bimonthly newsletter that explains C's 
features, provides examples, and offers 
ways to employ C. A question-and-answer 
column is featured. Supplementing the 



newsletter is a disk containing source files, 
demonstration programs, library functions, 
and public-domain programs. 

A full year's membership is $30. For 
details, contact the Lattice C Users' Group, 
POB 271965, Concord, CA 94527. 



Upgrade to Lowercase Descenders 



Tim Worcester, proprietor of the Electronic 
Closet in Bainbridge Island, Washington, 
has developed an upgrade kit that may be 
of interest to owners of the Gorilla Banana 
Printer. 

The Banana, a low-cost printer from 
DAK Industries, does not produce true 
lowercase descenders, which, in turn, 
hampers its use in serious word-pro- 



cessing applications. 

'The software I have developed," says 
Worcester, "solves the lowercase problem 
and gives the user true descenders." 

The software resides in EPROM, and 
installation is said to require the removal 
of the Banana's standard EPROM. which 
is then replaced by Mr. Worcester's 
EPROM. 



A limited number of Banana upgrade 
kits are available for evaluation on a first- 
come, first-served basis from Mr. 
Worcester. He also has upgrade kits for 
Axiom's GPI00 series and for landy's 
TRS-80 LPVII and DMP-100 printers. For 
further information, contact Tim 
Worcester, Electronic Closet, 8187 Blakely 
Court W. Bainbridge Island, WA 98110. 



User-Supported VT Terminal Emulator 



PC-VT is a user-supported software 
emulator that enables the IBM PC to func- 
tion as a DEC VT52, VT-100. or VT-102 
video terminal. It handles communication 
over an RS-232C port configured as either 
COMI or COM2, and it supports common 
data-transmission rates and data-bit 
settings. 

PC-VT is suitable for use with null 
modems for direct connection to a host 
computer or with a modem that does not 



require modem-control signals. It sends 
DSR and RTS. 

It supports Hayes dialing commands 
and has a 10-entry dialing directory. Func- 
tion keys I through 10 can be used as 
macro keys, and PC-VT supports both 
numeric and application keypad modes. 

It's said to have full-featured uploading 
and downloading file capabilities. ASCII 
and XMODEM protocols are supported. 
The ASCII upload feature has handshak- 



ing capabilities. 

A copy of the program is available by 
sending a formatted double-sided double- 
density disk to Mark C. DiVecchio, 9067 
Hillery Dr., San Diego, CA 92126. A 
stamped, self-addressed mailer must ac- 
company your request. A voluntary con- 
tribution is suggested. Contact Mr. 
DiVecchio for further information at the 
address above or call him at (619) 
566-6810. 



BYTE'S BUGS 



A Few Points on a Million Points 



Several readers have uncovered errors in 
James Hawley's 'A Million-Point Graphics 
lablet." (See April, page 120.) 

In the caption for figure I, ICI through 
1C4 are inadvertently identified as UI 
through U4. 

In the parts list, a 100-microfarad 
capacitor is listed, yet no such device ap- 
pears in the circuit diagram. Mr. Hawley 
informs us that this capacitor should be 



connected between + 5 volts and ground 
near the 7805 voltage regulator. 

r Iwo wiring errors mar the circuit 
diagram. The connection between pins 2 
and 10 of IC2 should go between pins 5 
.and 10. In addition, a connection, omitted 
on the diagram, should be made between 
ICI pin 6 and IC2 pin 13. 

Finally, on page 120 there's a reference 
to a photo that does not appear. We 



apologize for this oversight. 

The following are clarifications of the 
discussion in the article: 

The microcode in listing 1 is not a com- 
plete program, nor was it ever intended 
to be one. This code fragment provides 
access to the KoalaPad. It is all the 
necessary programming to obtain the x,y 
values that you need for drawing or for 

[continued) 



JUNE 1985 -BYTE 33 



Inquiry 296 



MidWest 

Micro-Peripherals 

Gigantic Sale! 

ison ■ Brother - Star - Zenith 



PRICE GUARANTEE 

We at MidWest Micro quarantee that we can save you up to 
49% or more on your purchase of new fully warranteed 
equipment and supplies. And we will still give you friendly, 
courteous seivice. Call today and Save With Confidence! 



Don't spend a fortune to own the world's 
most popular printer . 



N^W 



EPSON 

LX-80 




YOUR 
PRICE 



$269 



"me new EPSON LX-80 printssmoothlyand quietlyat a speedof 100 

cps With the superb near letter quality mode and full graphic 
capabilities as standard, your correspondence will be letter perfect. 
The LX-80 comes complete with a parallel interface to quickly 
connect it to virtually all computers. There are 160 typestyles that are 
switch selectable and the LX-80 comes with EPSON'S full 1 year 
warranty. Friction feed is standard and an optional tractor feed is 
available. Let the EPSON LX-80 print your next business letter or 
report. 

Complete EPSON Line . . . Llst £}"« 

LX-80 (100 cps. N0L Mode, 80 Col.) 349 269 

RX-100 (100 cps, 136 Col.) 895 399 

FX-80-H1 60 cps, 9.0 GbL 2K Buffer) 699 389 

FX-100+(160 cps, 136 Col, 2k Buffer) 999 589 

LQ-1500 (200 cps, NLQ Mode, 136 Col.) 1395. . . $CALL$ 

brother 

printer's give you all the 
features of a letter quality 
and more with . . , 




HR-15XL 

ONLY 



$379 



The HR-15XL gives you Daisywheel printing and added attractions 
such as text reprinting, red printing, attachable cut sheet feeder and 
the exclusive Brother keyboard attachment. 
Complete BROTHER Line . . 



List 



Your 
Price 



HR-15XL (17 cps, 13.5" carriage, 3k Buffer) $599 . . . $379 

HR-15 & HR-15XL Keyboard Attachment 200 .$CALL$ 

HR-25 (23 cps, 16.5" carriage, 3k Buffer) 895 ... . 649' 

HR-35 (32 cps, 16.5" carriage, 7k Buffer. 1245 .... 899 

Brother 2024(1 60 cps, 24 pin head, NL0 Mode) . 1495 .... 999 

Get great hard copy and near letter quality 
with, . . i^lt. 




Otji" I U List $299 



(Replaces the Gemini 10X) 

The SG-10 gives you enough versatility for home or office use. It 
operates bi-directionally at 120 cps and includes many special 
features such as near letter quality printing, easy access format 
switches for a wide range of character modes, friction feed for single 
sheets and tractor feed for fanfold paper, and even hex dump. Another 
special feature is the IBM character sets available at the flip of a 
switch. You get all of this plus a 2k memoiy buffer and Star's full 1 
year warranty at a price you can afford! 
Complete STAR- Line. . . . $CALL$ and SAVE! 



H£SW 




s V 

Computer Systems jMmmmm\ 

Get IBM compatibility, improved keyboard, faster processing speed, 
more memory capacity, free software, more expansion capability and 
unbelievable savings! Call today! 

Z-1 50 COMPUTERS 

1/360k DO + 1 28k RAM + Software $2199 . . $CALL$ 

2/360k DD + 320k BAM + Software 2799 . . SCALLS 

1/360k DD + Hard Drifc * Software. ........ 4499 . $CALL$ 

Z-160 Portable COMPUTERS 

1/360k DO + Software $2399 . . $CALL$ 

2/360k DD + Software 2999 . . $CALL$ 

Prices subject to change and type errors 

^ST FREE CARD USE Q£} 

"Call Today! w 

Information - Ordering 
1-800-423-8215 

In Ohio 1-800-321-7731 

CUSTOMER SERVICE (513) 663-4992 

CASH PRICES. Cert. Check, Money Orders. VISA o r MC 
CODs (Add $5) AMEX (Add 4%) P.O.s (Add 5%) 

MidWest Micro-Pf riphtrali 

(Division of Infotel, Inc.) 

135 South Springfield St. 

St. Paris. Ohio 43072 



FIXES & UPDATES 



cursor movements from the circuit board. 
If you add a Return at the end of the code, 
you will convert it into a subroutine that 
can be used in any graphics program that 
you devise. 

The KoalaPad discussed in the article is 
the version that's designed to plug into the 
16-pin game I/O socket of the Apple com- 
puter. The KoalaPad is produced by Koala 
Technologies Corp., 3100 Patrick Henry 
Dr., Santa Clara, CA 95050. 

Manufacturer Misidentified 



Address Correction 



On page 370 of the April BYTE, we pub- 
lished an out-of-date address for Multi 
Solutions Inc., maker of the SI operating 
system. (See ''Computing at Chaos Manor: 
Over the Moat" by Jerry Pournelle, page 
355.) 

The correct address for Multi Solutions 
Inc. is Suite 207, 123 Franklin Corner Rd., 
Lawrenceville, NJ 08648, (609) 896-4100. 



In the April BYTE, we misidentified the 
manufacturer of KES. (See "The 
Technology of Expert Systems" by Robert 
H. Michaelsen, Donald Michie, and Albert 
Boulanger, page 303.) 

On page 306, in the partial listing of 
domain-independent rule-based expert 
systems, we identified another company 
as the manufacturer of KES when, in fact, 
Software Architecture and Engineering 
Inc. of Arlington. Virginia, developed and 
markets the system. 

KES, or Knowledge Engineering System, 

Bugs Warp Reply 



runs on an IBM PC XT and requires 
IQLISP. an 8087 coprocessor, and 640K 
bytes of RAM. The IBM PC XT version is 
$4000, which includes documentation. 
Versions of KES are also available for the 
VAX and other machines. 

Software A&E maintains offices at Suite 
800, 1500 Wilson Blvd., Arlington, VA 
22209, (703) 276-7910. In the United 
Kingdom, address inquiries to Software 
Architecture and Engineering Inc., 1 6 New 
Park Rd., Chichester, West Sussex P019 
IXH; tel: 0243-789310. 



Several typographical errors marred 
Charles Kluepfel's reply to Martin 
Kochanski's letter in the March BYTE. (See 
'The Real RSA Algorithm" on page 26.) 
The errors began around the discussion 
of the subroutine coding on page 30. The 
text should have read: 

In place of the line in listing 1 that says 

D:QUOTIENT(2*(P- 1)*(Q- 1)+ 1,3), 

put the following coding: 

D:NXPRIME(P + Q), 
LOOP 

D: NXPRIME(D-M), 

X0: (P-1)*(Q-1), 

X1: D, 

A0: 1, 

B0: 0, 

Benchmark Misstated 



A1: 0, 
B1: 1, 
LOOP 
QU: QUOTIENT(X0,X1), 
X2: X0-QU*X1, 
A2: A0-QOA1, 
B2: B0-QOB1, 
X0: X1, 
X1: X2, 
A0: A1, 
A1: A2, 
B0: B1, 
B1: B2, 
WHEN X1=1, 
E: ABS(B1), EXIT, 
ENDLOOP, 

WHEN E>2026, EXIT, 
WHEN 2~E>N, EXIT, 
ENDLOOP 



In a recent What's New write-up, we incor- 
rectly reported the speed of Systems 
Management Associates' PROMAL lan- 
guage for the Commodore 64. (See "Struc- 
tured Programming Language Released 
for Commodore." page 446, April.) 

The benchmarks show PROMAL to be 
from 70 to 2000 percent faster than 
BASIC, COMAL, FORTH, and Pascal. 

PROMAL. a high-level, structured lan- 



guage that's similar to C and Pascal, is 
available in versions for the Apple lie and 
lie and the IBM PC. The price is $49.95; 
a developer's package with an unlimited 
distribution license is $99.95. Contact 
Systems Management Associates, 3700 
Computer Dr.. POB 2002 5, Raleigh, NC 
27619. Technical information is available 
by calling (91 9) 787-7703, or, for orders 
only you can call (800) 762-7874. 



34 B YTE • JUNE 1985 



Circuit-Board-Artwork Software 
for the Design Engineer 

a Hurry 




For only $895, smARTWORK® lets 
the design engineer create and 
revise printed-circuit-board art- 
work on the IBM Personal Com- 
puter. You keep complete control 
over your circuit-board artwork— 
from start to finish. 

Forget the tedium of taping it 
yourself or waiting for a tech- 
nician, draftsman, or the CAD 
department to get to your project. 

smARTWORK® is the only low- 
cost printed-circuit-board artwork 
editor with all these advantages: 

□ Complete interactive control 
over placement and routing 

D Quick correction and revision 

D Production-quality 2X artwork 
from a pen-and-ink plotter 

□ Prototype-quality 2X artwork 
from a dot-matrix printer 



□ Easy to learn and operate, yet 
capable of sophisticated 
layouts 

□ Single-sided and double-sided 
printed circuit boards up to 

10 x16 inches 

□ Multicolor or black-and-white 
display 

System Requirements: 

□ IBM Personal Computer, XT, or 
AT with 256K RAM, 2 disk drives, 
and DOS Version 2.0 or later 

□ IBM Color/Graphics Adapter 
with RGB color or black-and- 
white monitor 

□ IBM Graphics Printer or Epson 
FX/MX/RX series dot-matrix 
printer 

□ Houston Instrument DMP-41 
pen-and-ink plotter 

□ Optional Microsoft Mouse 



The Smart Buy 

At $895, smARTWORK® is proven, 
convenient, fast, and a sound 
value. Call us today. And put it to 
work for yourself next week. 



* A 



WBEsr-yacar 



Wintek Corporation 
1801 South Street 
Lafayette, IN 47904-2993 
Telephone: (317) 742-8428 
Telex: 70-9079 WINTEK CORP UD 

In Europe contact: RIVA Terminals Limited, 
Woking, Surrey GU21 5JY ENGLAND, 
Telephone: 04862-71001, Telex: 859502 

"smARTWORK'.' "Wintek" and the Wintek logo are 
registered trademarks of Wintek Corporation. 
Inquiry 42 5 



Which is the better way to 




Any growing business needs to 
organize, analyze and use data. 

Customer orders. Shipping 
records. Inventory. Billing. 
Prospect lists. 

Now, depending on your Macin- 
tosh software, you can manage data 
one of two ways. 

The simple, 

stuff-everything-into-one-file 
theory of data management. 

That's how ordinary filers and 
information managers work. 

You jam data into a single file that 
includes every piece of information 
you might ever want to know. 



5 


1 


AAKA ACRES 


I 


5 


503 


PATCH KIT 


40.0 


4t> 


13. til 


4 


2 


TOM fiURKE 


z 


5 


501 


HOT MELT 


663 


65.3 


77. IH 


5 


i 


f OH GbftKE 


3 


5 


502 


acrAic 


27.0 


22.6 


32.|3 


6 


2 


T"QH feUfeKE 


3 


5 


50J 


PATCH KIT 


21 1 


333 


3J.fia 


7 


2 


TOM BURKE 


3 


5 


504 


AEROSPACE 


7.0 


85 


I2-Sf| 


a 


2 


TAHfcMkE 


3 


5 


505 


PASTE 


II. 1 


68 


S.H 


9 


i 


CHARLIE CAR* 


• 1 


fi 


501 


HOT MELT 


66.3 


Wl4 


77^9 



With an ordinary data manager, you have to re-enter 
existing information every time you enter new infor- 
mation. Pretty inefficient. 



\ ENUIMRUS I 



[ Md ] ( DBlale J \ Nam | (Praulout} [ Firtl ] [ lail ] [ Qui I ) 



SftLESnEII'S SALES STATISTICS 



HflflE : 1011 BURtE 
AREA: 3 
LIKE: 5 



■ ffflOUCT JSH. FEB~ 



501 HOT riELT 

502 RCflVLIC 

503 PATCH SIT 
5CH AEROSPACE 
£05 PfiSTE 



ftpft. HflV ~m~ 



T? : SO M.o 



33.5 
12.3 



0.9 10. S 15. 



y 

Hi I 120 t 



With MacLion, you only have to enter the new data 
that has changed. Not only that, you can design 
your own data entry screens. Now, which is the most 
efficient way to manage your business data? 



The problem? 

Well, if you have a sales order 
entry file, every time you enter new 
data about a customer's order, you 
also have to re-enter all the existing 
data about your customer. 

Repeat, repeat, repeat. 

Worse, if you ever want to move 
the data from your sales order entry 
file to develop a new file, without 
having to rework it all over again, 
there's one small problem. 

You can't. 

Okay Let's get serious. 

MacLion™, on the other hand, 
is a true relational database 
management system. 



Macliori Serious database power for serious 



36 BYTE • JUNE 1985 






manage your data? /q % 




So instead of trying to jam all your 
business data into one massive file, 
you can set up several smaller, more 
manageable "relations." (Picture 
them as a series of neat file folders.) 

The advantage? 

In a sales order entry system, one 
relation contains biographical data 
about your customers that doesn't 
change. Another hastheir order data 
that does. 

There's no duplication. 

So when it's time to update 
customer orders, you only have to 
enter in new data. Not re-enter what 
already exists. And you can develop 



Macintosh users. 



%, 



entirely new applications for your 
existing database just by adding 
new relations. 

That's the most efficient way to 
manage your data. 



r o 



For a MacLion demonstration, 
see your dealer. Or, send for our 
"Serious Buyer's Guide to Database 
Management Systems," which 
includes a demonstration disk 





Simple vs. serious. 



And MacLion gives you some 
other remarkable features, too. 

You can design and generate your 
own custom data entry screens and 
reports. Just by clicking your mouse 
through Macintosh pull-down 
menus— without programming. 

Or, if you're a programmer at heart, 
you can also use MacLion's built-in 
procedural language and add even 
more specialized functions. 

That's serious database power, 
only possible with MacLion. 



plus complete information 
on what a database management 
system can do for your business. 
Get serious— with MacLion. 




MAC 

LION 



1904 Wright Circle, Anaheim, C A 92806 



Macintosh is a trademark licensed to Apple Computer, Inc. 
MacLion is a trademark of Computer Software Designs, Inc. 

Inquiry 107 



I'm serious about managing my data. 



i □ Please send me your free "How to Buy a Database Management System" brochure. 



□ Please send me "A Serious Buyer's Guide to Database Management Systems.' 
I've enclosed $9.95. 

□ Check or money order enclosed. 

□ Please charge my: VISA MasterCard Number 



Signature. 




VISA and MasterCard orders can be 
placed by phone. Call (800)252-LION 
or (714)634-9012. 
Calif, residents please add 6% tax. 
Send to: Database Guide 
COMPUTER SOFTWARE DESIGNS INC. 
1904 Wright Circle 
Anaheim, California 92806 



State. 



-Zip- 





INTftXXJCING 

N£AR VcXXtR QUALITY 
ANP THRDU&HPUTSP^ePS 
CTH£R RRlhHHRSCANT 

COMB NEAR. 

The newC.ltoh Pro Writer 8510S-LQ 
Near Letter Quality printer is a whole 
new field of one. 

It's priced at just $549. But it gives you 
near letter quality printing for beautifully 
sharp characters like printers costing 
hundreds of dollars more. 

And in a text and graphics 
speed test against its closest 
competition, namely the Epson® 
FX-80 and the Okidata Microline 
92, the new and faster C. Itoh 
8510S-LQ out printed them all. 
The stopwatch proved that 
the 8510S-LQ, at throughput 
speeds of 100 full lines per 
minute, printed text up to 35% faster than 
the competition. And it created bar 
graphs and pie charts up to 54% faster. 

Of course, speed in itself does not 
keep a printer in a class by itself. Reli- 
ability does. That's something no C.ltoh 
printer has ever lacked. No other printers 
are more thoroughly tested or 
proven on the job. Which is why 
C.ltoh printers continue to be the 
world's best sellers, with 1.7 
million sold last year alone. 

For more information on the 
new and faster C.ltoh 8510S-LQ 
or wider carriage 1550S-LQ Near 
Letter Quality printers just see 
your C. Itoh dealer. Or call us toll 
free at 1-800-423-0300. 

Or write C.ltoh Digital Products, 
Inc., 19750 South Vermont Avenue, 
Suite 220, Torrance, CA 90502. 

m ProWriter is a Trademark of C.ltoh Digital Products, Inc. 
•Epson is a Registered Trademark of Epson, America, Inc. 
« 1985 C.ltoh Digital Products. Inc. 



Theirs 




C.IT0H 

Printers 



38 BYTE • JUNE 1985 



Inquiry 67 for End-Users. Inquiry 68 for DEALERS ONLY. 



WHAT'S NEW 



Commodore Exhibits 
Computer Series 

Commodore International 
exhibited its new 900 
series computer at the Han- 
nover Fair in West Germany 
late in April. 

The Commodore 900 
series consists of a multi- 
user, UNIX-like system and a 
high-performance individual 
workstation. Commodore 
spokespeople claim that, 
although the 900 will sell for 
"well below $4000," its func- 
tionality and performance 
are similar to workstations 
costing five times more. 

The individual workstation 
is distinguished by a 14-inch, 
bit-mapped monitor that has 
a resolution of 1024 by 800 
pixels and a 72-MHz band- 
width. The video controller 
carries 128K bytes of RAM 
and will soon employ two- 
dimensional Bit-BLT tech- 
nology, which, in short will 
give you raster-like, display- 
screen operations from 
hardware. With the bit- 
mapped display, you can 
mix text and graphics win- 
dows on screen. A 1 7-inch 
monitor is available. 

The multiuser version of 
the 900 has a monochrome, 
character-mapped display. Its 
attributes are similar to 
those of the IBM Personal 
Computer's monochrome 
monitor. The display format 
is 80 by 2 5. 

An 8-MHz Zilog Z8000, 
backed by a minimum of 
512K bytes of RAM and 
Mark Williams Company's 
Coherent, is at the heart of 
the Commodore 900. A 
10-MHz version of the 
Z8000 is being developed, 




The Commodore 900 made its debut in Europe. 



although the 8-MHz model 
reportedly provides the 
speed and performance of a 
286 microprocessor running 
at 10 MHz. 

Coherent, a multiuser, 
multitasking system, is fully 
UNIX-compatible. It is cur- 
rently being optimized for 
further compatibility with 
AT&T UNIX System VII as 
well as for use on the Com- 
modore 900. 

Formatted storage is pro- 
vided by a 20-megabyte 
hard-disk drive and a 
1.2-megabyte, half-height 
floppy-disk drive. A second 
floppy-disk drive, a stream- 
ing-tape backup, and 40- or 
67-megabyte hard-disk units 
are available as options. 

The Commodore 900 has 
two RS-232C interfaces, a 
parallel port, and an 
1EEE-488 connection for a 
variety of peripherals and 
instruments. A VD1 interface 
and a graphics kernel system 
are provided. An optional 



eight-port RS-232C board 
serves as the multiuser link. 
You can easily access four 
expansion slots through the 
back of the machine. 

Mounted on the keyboard 
is a mouse-control pad that 
can also serve as a standard 
cursor-control unit. The key- 
board itself has 99 keys as 
well as a separate numeric 
pad. A three-button mouse 
is standard with the in- 
dividual workstation. 

In addition to Coherent, 
the Commodore 900 comes 
with the new ANSI-standard 
BASIC and a UUC (UNIX-to- 
UNIX Copy) package. Pascal 
and COBOL are among the 
supported compilers. 

User memory can be ex- 
panded to 2 megabytes on 
the main board with 2 56K- 



byte dynamic RAMS. Com- 
modore plans color 
capabilities and will offer a 
software plotting package. 

At press time, Commodore 
had not made a final deci- 
sion on pricing for the multi- 
user version of the Com- 
modore 900; however, 
sources at Commodore esti- 
mated that the base price 
will be in the $3000 range. 

European shipments of the 
Commodore 900 should 
start during September. It is 
uncertain when deliveries in 
the U.S. will commence. 
Contact Commodore Inter- 
national Ltd., 1200 Wilson 
Dr., West Chester, PA 19380, 
(215) 431-9100. 
Inquiry 600. 

NAPLPS Board 
for IBM 

The MGB 8024 
NAPLPS/graphics board 
from Electronic Office Sys- 
tems (Videotex) Limited of 
Israel is designed to replace 
or supplement existing IBM 
PC graphics adapters. It 
works with both the IBM PC 
family and its compatibles. 

Its software drivers let you 
select from the following 
modes: full SRM NAPLPS 
decoder with 2 56 by 210 
resolution and 16 colors 
from a palette of 4096; a 
graphics mode with resolu- 
tions of 640 by 200 or 512 
by 256 using 4 colors out of 
the full palette; a 4-color 
text mode with an 80-col- 
umn by 25-line display; and 
a Prestel decoder emulation 
mode. 

The MGB 8024 comes 
with a dedicated graphics 
controller. Installed versions 
{continued) 



JUNE 1985 'BYTE 1 39 



WHAT'S NEW 




The QuadLaser has 256K bytes of memory for image storage. 



of popular graphics applica- 
tions will be available. With 
a manual and software, the 
MGB 8024 is $495. Contact 
Electronic Office Systems 
(Videotex) Ltd.. POB 45266, 
lei Aviv 61452, Israel; tel: 
(972)-3-299908; lelex: 
341667 RMYM IL ATT 
EOS/949. 
Inquiry 601. 

Quadrant's Laser 
Printer 

Quadram's Quadl^aser is 
an 8-page-per-minute 
laser printer. It comes with 
2 56K bytes of memory (ex- 
pandable to 2 megabytes) 
for storage of bit-mapped 
images, programs, or up to 
60 standard and user- 
developed type fonts. 

Quadl^ser has ROM soft- 
ware to emulate Epson and 
Qume printers. You can 
download user-written soft- 
ware to emulate other 
printers or provide more ad- 
vanced features using the 
controller's Z8001 processor. 
Quadram supplies 7 fonts 
on IBM PC disks with the 
QuadLaser. You can use 
each font in portrait or land- 
scape modes (horizontally 



or vertically), and you can 
also create additional fonts 
using an editor that comes 
with the QuadLaser. You can 
get 13 more fonts from 
Quadram at extra cost. 

The Quadl^aser can print 
up to 10,000 pages per 
month, and Quadram says it 
will last for about 600,000 
pages. In addition to stan- 
dard 8/2- by 11-inch paper, 
the QuadLaser can print on 
transparencies and Euro- 
pean-size paper. Its paper 
cassette stores 2 50 sheets. 
You replace toner cartridges 
and the print belt sepa- 
rately— Quadram claims that 
this reduces the printer's 
operating cost. The Quad- 
Laser weighs 85 pounds and 
measures 141/2 by 20% by 
2 3/ 5 inches with the paper 
cassette and tray installed. 

The QuadLaser will be 
available this month for 
under $3400. Contact 
Quadram Corp., 4355 Inter- 
national Blvd., Norcross. GA 
30093, (404) 923-6666. 
Inquiry 602. 

Victor PCs Are 
Compatible with IBM 

Victor lechnologies' VPC 
and VI are compatible 
with the IBM Personal Com- 



puter. Built around Intel's 
8088 processor, these com- 
puters come with a mini- 
mum of 2 56K bytes of RAM 
and VBASICA, a Victor- 
enhanced version of 
BASICA. The operating 
system is MS-DOS 2. 1, and 
an upgrade to MS-DOS 3.0 
is planned, 

Both systems employ 
Victor-VU, an on-screen 
guide that translates DOS 
functions into easy-to-use in- 
structions. This interface 
gives you single-keystroke 
help screens, an on-screen 
application guide, keyboard 
programmability, and pop-up 
windows. 

Victor offers three models 
of the VPC. One features 
twin 360K-byte floppy-disk 
drives; the others have a 
single floppy disk and either 

1 5 or 30 megabytes of hard- 
disk storage. 

Seven expansion slots let 
you add features to the VPC 
as your needs evolve. Its 
standard parallel port gives 
you links with many printers 
or plotters. High-resolution 
monochrome or full-color 
display screens are available, 
and the 83-key keyboard has 
10 function keys and capital- 
and number-lock LEDs. 

VPC pricing begins at 
$2485, which includes a 
14-inch monitor. The 30- 
megabyte version is $4785. 

The Victor VI is offered 
with a choice of storage ar- 
rangements: dual 1.2-mega- 
byte floppy-disk drives or a 
single floppy-disk unit with 
either a 10- 20- or 30-mega- 
byte hard disk. The VI key- 
board, which can be pro- 
grammed for dual Victor 
and IBM functionality, has 

16 function keys, a numeric 
keypad, and cursor controls. 

In the Victor mode, the 
nonglare 12- or 14-inch 



monitor provides high- 
resolution, 800- by 400- 
pixel, bit-mapped images. 
The format is 80 by 25 with 
a 10- by 16-dot character 
cell. The display supports 
IBM PC screen attributes in 
the IBM mode. Other dis- 
play features include color 
emulation with shading and 
dot pattern supporting 320- 
and 640- by 200-dot graph- 
ics modes and 40- and 
80-column PC text modes. 

The VI has two indepen- 
dent, full-duplex RS-232C 
ports and single 36-pin Cen- 
tronics and 50-pin user- 
programmable ports. The 
Centronics port supports 
[EEE-488 in the Victor 
mode. Three slots are avail- 
able for expansion, and you 
can expand RAM to 1.98 
megabytes. 

IBM PC programs can be 
stored on Victor-formatted 
disks and vice versa. Victor 
9000 MS-DOS programs are 
supported. 

The VI with two floppy- 
disk drives begins at $4295. 
Contact Victor lechnologies 
Inc., 380 El Pueblo Rd., 
Scotts Valley, CA 95066, 
(408) 438-6680. 
Inquiry 603. 



BDS Laser Printer 

BDS Corporation has in- 
troduced the BDS Laser 
630/8. Like the Hewlett- 
Packard Laserjet, the 630/8 
is based on Canon's LBP-CX 
print engine and uses the 
same replaceable toner/belt 
cartridge. 

The BDS printer comes 
with nine type fonts: two 
fonts each in normal, italic, 
bold, and bold italic, and 
one font in "landscape 
mode." Using optional ROM 
or RAM cartridges, you can 
download type fonts from a 
microcomputer. A Diablo 

[continued) 



40 B YTE • IUNE 1985 






They said it couldn't be 
Borland Did ILTurbo Pascal 3j0 



The industry standard 

With more than 250,000 users worldwide Turbo 
Pascal is the industry's de facto standard. Turbo 
Pascal is praised by more engineers, hobbyists, 
students and professional programmers than any 
other development environment in the history of 
microcomputing. And yet, Turbo Pascal is 
simple and fun to use! 



TURBO 
3.0 



TURBO 
2.0 



MS 
PASCAL 



COMPILATION SPEED 



EXECUTION SPEED 



CODE SIZE 



BUILT-IN INTERACTIVE EDITOR 



ONE STEP COMPILE 

(NO LINKING NECESSARY) 



COMPILER SIZE 



TURTLE GRAPHICS 



BCD OPTION 



PRICE 




Portability. 

Turbo Pascal is available today for most com- 
puters running PC DOS, MS DOS, CP/M 80 or 
CP/M 86. A XENIX version of Turbo Pascal will 
soon be announced, and before the end of the 
year, Turbo Pascal will be running on most 68000 
based microcomputers. 

An Offer You Can't Refuse. 

Until June 1st, 1985, you can get Turbo Pascal 3.0 
for only $69.95. Turbo Pascal 3.0, equipped with 
either the BCD or 8087 options, is available for an 
additional $39.95 or Turbo Pascal 3.0 with both options 
for only $124.95. As a matter of fact, if you own a 16- 
Bit computer and are serious about programming/you 
might as well get both options right away and save 
almost $25. 



(*) Benchmark run on an IBM PC using MS Pascal version 3.2 and 
the DOS linker version 2.6. The 179 line program used is the "Gauss- 
Seidel" program out of Alan R. Miller's book; Pascal programs for 
scientists and engineers (Sybex, page 128) with a 3 dimensional 
non-singular matrix and a relaxation coefficient of 1.0. 



The best just got better: 
Introducing Turbo Pascal 10 

We just added a whole range of exciting new 
features to Turbo Pascal: 

• First, the world's fastest Pascal compiler just got 
faster. Turbo Pascal 3.0 (16 bit version) compiles 
twice as fast as Turbo Pascal 2.0! No kidding. 

• Then, we totally rewrote the file I/O system, and 
we also now support I/O redirection. 

• For the IBM PC versions, we've even added 
"turtle graphics" and full tree directory support. 

• For all 16 Bit versions, we now offer two addi- 
tional options: 8087 math coprocessor support 
for intensive calculations and Binary Coded 
Decimals (BCD) for business applications. 

• And much much more. 

The Critics' Choice. 

Jeff Duntemann, PC Magazine: "Language 
deal of the century . . . Turbo Pascal: It 
introduces a new programming environment and 
runs like magic." 

Dave Garland, Popular Computing: "Most 
Pascal compilers barely fit on a disk, but Turbo 
Pascal packs an editor, compiler, linker, and run- 
time library into just 39K bytes of random- 
access memory!' 

Jerry Pournelle, BYTE: 'What! think the 
computer industry is headed for: well 
documented, standard, plenty of good features, 



and a reasonable price." 



Update policy. 

As always, our first commitment is to our customers. 
You built Borland and we will always honor your support. 

[ S'0, :to make your upgrade to the exciting new version of 
Turbo Pascal 3.0 easy, We will accept your original Turbo 
Pascal ef/sfc (in a bend-proot container) fon a frade-in credit 
of $39.95 and y$ur Turbo87 original disk for $59:95. This 
trade-in credit may only be applied lowafcl the purchase of 
Turbo Pascal 3.0 and its additional BGG) arjd 8087 options 
"(trade-in offer IS only, valiU directly through Borland arid until 
June 1st. 1985). 



\ 
\ 
\ 




Available 
nearest you- 



Healed n^d ca" 

^S credit 



(800) 25° 



■eh* 



nesc" Dey T' 
Ca^""' , e ,Sys< e ' r ' 

C ° * d "msdos 

,Use:— cp/MBO -£ de iis: 

****** 



• 800a ? f S l -n.^^Ouan... 
,a!30 



V 



°"Srn^ 
' order 



I 



pas< 
pascal " /0CU 



BCD _- 



t 

1 
\ 



BBORlAflD 
INTERNATIONAL 



Software?* Newest Direction 

4585Scotts Valley Drive 
Scotts Valley, CA 95066 
TELEX 172373 



Turbo Pascal Is a registered tedenwrk ofBofiand International, inc. 

PC Week is a trademark of Ziff-Davis Pub, Co. 

Inquiry 55 for End-Users. Inquiry 56 for DEALERS ONLY. 




> COD's 

V Outsit 



_jB>age#- 



WHAT'S NEW 



630 emulation mode is pro- 
vided for offices already 
using a daisy-wheel printer. 
The BDS 630/8 can print 
text at a resolution of 300 
by 300 dots per inch. 

The printer provides a 
"screen dump" image from 
an IBM PC and can enlarge 
text and screen images from 
two to eight times. It has 
two Z80 processors and 64K 
bytes of local memory to 
store font information and 
to buffer up to about five 
pages of text. Parallel and 
serial ports let you link the 
printer to two computers. 

The BDS 630/8 laser 
printer sells for $3495. For 
more information, contact 
BDS Corp., 800 Maude Ave.. 
Mountain View, CA 94043, 
(415) 964-2115. 
Inquiry 604. 

XTRA XP: An 
80286 Based PC 

ITT's XTRA XP is compati- 
ble with the IBM PC XT 
but executes programs faster 
because it uses Intel's 
6-MHz 80286 micropro- 
cessor. According to ITT, the 
XTRA XP also features "no- 
wait-state" RAM, letting it 
access memory information 
more quickly than com- 
parable IBM computers. This 
includes the PC AT which 
uses the same processor. 

The XTRA XP has 512K 
bytes of memory (expand- 
able on the main circuit 
board to 640K bytes), serial 
and parallel ports, ROM 
diagnostics software, one 
360K-byte 514-inch floppy- 
disk drive, and a 10- or 
20-megabyte hard-disk drive. 
Of the system's five IBM PC 
XT-compatible expansion 
slots, one is for the hard- 
disk controller and another 
for an optional graphics- 
display adapter. 

You can get an optional 




The XTRA XP has "no-wait-state" RAM. 



card with 1 megabyte of ad- 
ditional "no-wait-state" RAM 
for use as a virtual disk. 
Other options include an 
80287 numeric coprocessor 
and the MS-DOS 2.11 oper- 
ating system. 

The ITT XTRA XP with a 
10-megabyte hard disk will 
carry a suggested list price 
of $3995. With a 20-mega- 
byte drive, the price is 
$4595. Monochrome or 
color graphics adapters are 
$145 and $190, respectively. 
The 1 -megabyte RAM-disk 
expansion card with 51 2K 
bytes of memory on board 
will sell for $395. Contact 
ITT Information Systems, 
2041 Lundy Ave., San Jose, 
CA 95131, (408) 945-8950. 
Inquiry 605. 



AT&T Links MS-DOS 
and UNIX Micros, 
Offers PC 6300 
Enhancements 

AT&T has introduced a 
local-area network and 
a number of enhancements 
for its PC 6300 micro- 
computer. 

STARLAN, slated for 
release at year's end, links 



up to 200 computers in a 
star or ring configuration or 
a combination of both. 
Adapter boards tailor the 
network for computers with 
IBM PC-compatible expan- 
sion slots and for AT&T's 
UNIX-based systems. 

STARLAN uses twisted-pair 
cabling and can take advan- 
tage of existing telephone 
wiring. The maximum data- 
transfer rate is 1 megabit 
per second. Network boards 
are about $600, and the 
network software is $12 5 
per machine. 

AT&T's PC 6300 Display 
Enhancement Board lets you 
display 16 colors at a reso- 
lution of 640 by 400 pixels 
on a standard IBM PC-com- 
patible RGB monitor. On a 
monochrome monitor, the 
6300 can produce 16 
shades of gray at this reso- 
lution. Color mapping for 
rapid color changes is 
supported. 

The Mouse 6300 attaches 
directly to the PC 6300's 
keyboard and comes with 
software that allows its use 
with many programs that 
were not designed for mice. 



It comes with a simple word 
processor and graphics. The 
suggested price is $150. 

A version of XENIX, 
adapted for AT&T by the 
Santa Cruz Operation, is 
available for the PC 6300. 
This version of XENIX sup- 
ports two users, allows file 
transfers between it and MS- 
DOS, and provides file and 
record locking. It's divided 
into three modules: the 
basic operating system 
($395), a software-develop- 
ment package ($4 50), and a 
text-processing package 
($150). 

The AT&T Communications 
Manager board for the PC 
6300 and the IBM PC comes 
with a 1200-bps modem, 
three phone jacks, and com- 
munications software. It lets 
you auto-dial up to 200 
numbers and, if connected 
to two telephone lines, can 
handle simultaneous voice 
and data connections. The 
software lets you switch 
from communications to any 
other PC application instan- 
taneously. The modem is 
not Hayes-compatible, but 
VT-100 terminal-emulation 
software is provided. It lists 
for $599. 

Other enhancements for 
the AT&T PC 6300 include a 
20-megabyte hard-disk drive 
and an 8-MHz 8087-2 
numeric coprocessor. The 
coprocessor is $295; the 
hard disk's pricing was not 
available at press time. 
Contact AT&T Information 
Systems, 100 Southgate 
Parkway, Morristown, NJ 
07960. 
Inquiry 606. 



GEM Applications 

GEM Desktop and GEM 
Draw are Digital 
Research's first end-user ap- 
plications designed exclu- 
sively for its Graphics En- 
vironment Manager (GEM) 
operating-system extension. 
In a related announcement, 
[continued) 



42 B YTE • 1UNE 1985 



Borland's SideKick 
Software Product of theYear 



SideKick is InfoWorld Software Product of the Year. It won over 

Symphony. Over Framework. Over ALL the programs advertised in 

this magazine. Including, of course, all the "fly-by-night" SideKick 

imitations. SideKick .... Simply the best. 





Here's SideKick running over Lotus 1-2-3. In the SideKick 
Notepad you'll notice data that's been imported directly from 
{ the Lotus screen. In the upper right you 
can see the SideKick Calculator. 




All the SideKick windows stacked up over Lotus 1-2-3. From 
bottom to top: SideKick's "Menu Window", ASCII table, 
Notepad, Calculator, Appointment Scheduler/Calendar, 
and Phone Dialer. Whether you're running WordStar, Lotus, 
dBase, or any other program, SideKick puts all these desktop 
accessories instantly at your fingertips. 



I n foWor Id Report Card 1984 by Pop tilar 
Computing. Inc., a subsidiary of CW 
Commit nil at ions Inc. Reprinted from 

InfoWorld. 1060 Marsh Road. 

Menln Park, CA 94025. 



Jerry Poumelle, BYTE: "If you use a 

PC, get SideKick. You' II soon become 
dependent on it." 

Garry Ray, PC Week: "SideKick deserves 
a place in every PC." 
Charles Petzold, PC Magazine: "In a 
simple, beautiful implementation of Word- 
Star's block copy commands, SideKick 
can transport all or any part of the display 
screen (even an area overlaid by the notepad 
display) to the notepad" 
Dan Robinson, InfoWorld: "SideKick is a 
time-saving, frustration-saving bargain .'..-■■ 



i 




lilable at 



Avaiiao"; - - der by 
nearest yo^ I0 

please s e " 
SideKick 



Z^JSSfc «<*»** 



p^hs^ 74 * 1133 



Credit 







fit BADIAA^ Software?* Newest Direction 

ft iSOKUrii II J 4585 Scotts Valley Drive 
$k-~Z^?£*,r, Scotts Valley, CA 95066 

I INTERNATIONAL rmcim 



Symphony, Lotus & Lotus 1-2-3 are trademarks of Lotus Development Corp. dBase 
& Framework are trademarks of Ashton-Tate. WordStar is a trademark of Micropm 
national Cotp. SideKick is a trademark of Borland International. 

ied by infoWorfd as the most significant software product of rh* year. 
Inquiry 57 for End-Users. Inquiry 58 for DEALERS ONLY. 




i 
i 



WHAT'S NEW 



Digital Research introduced 
GEM Paint and GEM Write, 
a pair of programs that will 
be bundled with GEM Desk- 
top in a package called the 
GEM Collection. 

GEM applications feature 
drop-down menus, windows, 
and icons. They run on the 
IBM PC and its compatibles. 

GEM Desktop replaces 
operating-system commands 
with a visual interface. It 
produces a graphics repre- 
sentation of desktop func- 
tions, including floppy disks, 
a wastepaper basket, and 
file folders. You use your 
mouse or a few keystrokes 
to open files, run programs, 
and execute other operating- 
system commands. As many 
as six Desktop accessories, 
such as a clock or a calcu- 
lator, can run with other 
GEM applications. 

GEM Draw is a graphics 
editor that produces organi- 
zational charts, flow charts, 
logos, and a variety of pic- 
tures. It comes with a library 
of predesigned graphics that 
you can integrate into your 
work. You can also use it to 
edit and augment graphics 
and charts produced with 
GEM applications. 

The GEM Collection is 
made up of GEM Desktop. 
GEM Paint, and GEM Write. 
GEM Paint is a graphics- 
design tool, while GEM 
Write, said to be a full- 
function word processor, lets 
you merge graphics from 
other GEM applications with 
written reports. 

The GEM Collection is due 
to be released this month 
for $199. GEM Desktop is 
$49.95. Until August 31. 
GEM Draw will be priced at 
$149; after that it's $249. 
Contact Digital Research 
Inc.. POB DRI, Monterey. CA 
93942, (800) 443-4200; in 
California. (408) 649-3896. 
Inquiry 607. 




Ericsson's Portable PC has a plasma display. 



Portable Has 
Plasma Display 

Ericsson says that its Por- 
table PCs plasma dis- 
play lets you view on-screen 
information from any angle 
no matter what amount of 
ambient light is present. 
This claim is based on the 
fact that plasma-display 
technology generates its 
own light rather than reflect- 
ing light as liquid-crystal 
technology does. The dis- 
play resolution is 640 by 
400 pixels, and its format is 
80 columns by 2 5 lines, 
comparable to an 1 1-inch 
CRT screen. 

A 360K-byte. half -height, 
floppy-disk drive is built into 
the Portable PC, as are ports 
for serial and parallel inter- 
faces. It comes with 2 56K 
bytes of RAM and a detach- 
able keyboard. The Intel 
8088 serves as the central 
processor and the Portable 
PC operates on either 110- 
or 220-volt currents. It 
measures 1 2 / 5 by 15% by A ] A 
inches and weighs 15- 
pounds. 

User memory can be ex- 
panded by 256K bytes, and 



a 512K-byte solid-state disk 
will further increase storage 
capacity. You can install a 
40-character-per-second ther- 
mal ribbon-transfer printer 
with graphics capabilities; it 
adds 2 pounds to the 
overall system weight. 

An expansion box de- 
signed to accommodate 
add-in boards marketed for 
the IBM Personal Computer 
is another option. An inter- 
nal 300/1200-bps modem 
will soon be available. With 
keyboard and plasma dis- 
play, the basic Ericsson Por- 
table PC is $2995, Contact 
Ericsson Inc., Greenwich Of- 
fice Park 1, POB 2522, 
Greenwich. CT 06836-2 522. 
Inquiry 608. 



HP Tbuchscreen II 

Hewlett-Packard's 
'Ibuchscreen 11 Personal 
Computer is compatible with 
existing r Ibuchscreen prod- 



ucts and comes with a vari- 
ety of storage and communi- 
cations options designed to 
address a range of needs. 

The Touchscreen 11 has a 
12-inch display screen and 
four accessory slots that 
offer a wider choice of 
memory and communica- 
tions cards than its prede- 
cessor's 9-inch screen and 
two expansion slots. The 
display format is 80 by 27. 
HP 2623 terminal emulation 
is built in. and VT-100 and 
IBM 3276/3278 emulation 
are optional. 

An 8-MHz 8088 serves as 
the Touchscreen lis central 
processor. Standard hard- 
ware includes 256K bytes of 
RAM expandable to 640K 
bytes. 160K bytes of ROM. 
an HP-H1L interface, one 
RS-232C port, and one port 
that can be configured for 
either RS-232C or RS-422. 

The Personal Applications 
Manager (PAM), a shell over 
the MS-DOS 2.11 operating 
system, simplifies use by 
eliminating the need to 
memorize system or pro- 
gram commands. Eight on- 
screen command keys also 
simplify operation. 

You can add networking 
and communications to the 
Touchscreen II. An extended 
I/O accessory provides for 
communications between 
the Tbuchscreen 11 and the 
HP Portable and offers a 
Centronics-type parallel in- 
terface. Some other options 
are a touchscreen, mouse, 
and graphics tablet. 

A Touchscreen II with two 
710K-byte floppy-disk drives 
is $3545. A 10-megabyte 
system with a single floppy 
drive is $4770. With one 
floppy and a 20-megabyte 
Winchester, it's $5570. All 
floppy-disk drives are 
3!/2-inch microfloppies. The 
touchscreen interface is 
$300. Contact your local 
Hewlett-Packard dealer, 
Inquiry 609. 

[continued on page 470) 



44 B YTE • JUNE 1985 



Speed, Power, Price. 
Borland's Turbo Pascal Family. 



The industry Slindard. With more than 250,000 users worldwide Turbo Pascal is the industry's de facto standard. 
Turbo Pascal is praised by more engineers, hobbyists, students and professional programmers than any other development 
environment in the history of microcomputing. And yet, Turbo Pascal is simple and fun to use! 

JettDuntemann, PC Magazine: "language deal of the century . . . Turbo Pascal: It introduces a new 
programming environment and runs like magic. " 

Dave Garland, Popular Computing: "Most Pascal compilers barely fit on a disk, but Turbo Pascal packs an editor, compiler, linker, 
and run-time library into just 29K bytes of random-access memoiy." 

Jerry Pournelle, BYTE: "What I think the computer industry is headed for: well documented, standard, plenty of good features, 
and a reasonable price." 

Portability. Turbo Pascal is available today for most computers running PC DOS, MS DOS, CP/M 80 or CP/M 86. A XENIX verison of Turbo 
Pascal will soon be announced, and before the end of the year, Turbo Pascal will be running on most 68000 based microcomputers. 





High resolution monochrome graphics for the IBM PC and the Zenith 100 computers 

Dazzling graphics and painless Windows. The Turbo Graphix Toolbox will give even a beginning programmer 
the expert's edge. It's a complete library of Pascal procedures that include: 

Full graphics window management. 

—Tools that will allow you to draw and hatch pie charts, bar charts, circles, rectangles and a full range of geometric shapes. 
—Procedures that will save and restore graphic images to and from disk. 
—Functions that will allow you to precisely plot curves. 

—Tools that will allow you to create animation or solve those difficult curve fitting problems, 
and much, much more 

No Sweat and no royalties. You may incorporate part, or all of these tools in your programs, 
and yet, we won't charge you any royalties. Best of all, these functions and procedures come complete 
with commented source code on disk ready to compile! 








W of 



w ; 



Searching and sorting made simple 

The perfect Complement tO TurbO Pascal. It contains: Turbo-Access, a powerful implementation of the state-of-the-art B+tree ISAM 
technique; Turbo-Sort, a super efficient implementation of the fastest data sorting algorithm, "Quicksort on disk". And much more. 

Jerry Poumelle, BYTE: "The tools include a B+tree search and a sorting system; I've seen stuff like this, but not 
as well thought out, sell for hundreds of dollars." 

Get Started right away: free database! Included on every Toolbox disk is the source code to a working 
data base which demonstrates how powerful and easy to use the Turbo-Access system realty is. 
Modify it to suit your individual needs or just compile it and run. 

Remember, no royalties! 




From Start to Finish in 300 pages. Turbo Tutor 

is for everyone, from novice to expert. Even if you've never 
programmed before, Turbo Tutor will get you started right away. 
If you already have some experience with Pascal or another 
programming language, Turbo Tutor will take you step by step 
through topics like data structures and pointers. If you're an expert, 
you'll lovetfie sections detailing subjects such as "how to use assem- 
bly language routines with your Turbo Pascal programs." 

A must. You'll find the source code for all 
the examples in the book on the accompanying 
disk ready to compile. Turbo Tutor might be 
the only reference on Pascal and pro- 
gramming you'll ever need. 



l 




^-- ^nW ide ',?fR00)255- 800b ' $ 69 .95 ■ 

^— - T^dea |ers n ,f card call ( 8 ° U) 



Mine |S: — pC-DOS -— C p/M & 
.Use^cp/MBO^ns-. 



V 



Y 
I 



* 



P3S °° j 54.95 

T^ 0T00 ' b I'U^ 5 - 

TurboTul"' i0 clude sWP d ™ s 

■5J@5SS- 



1 

1 



1 



m BORIADD 

■9 INTERNATIONAL 

Inquiry 59 for End-Users, Inquiry 60 for DEALERS ONLY. 



Software's Newest Direction 

4585 Scotts Valley Drive 
Scotts Valley CA 95066 
TELEX172373 



Turbo Pascal is a registered trademarit of Borland International, Inc. 





I 1/ / '.~-» 




m +m<* w) ,** i mm > +m ^ m J-W <i<'**'t* t* n*»*» * >i i i WH) n i p' 1 ' ) l 




Borland Does It Again: 
SuperKey $69.95 



Sure, ProKey™ is a nice little program. But when the people who brought you 

Turbo Pascal and SideKick get serious about keyboard enhancers, you can 

expect the impossible ... and we deliver. 



SuperKey 



ProKey 



ALL FEATURES RESIDENT IN RAM AT ALL TIMES 



RESIDENT PULL-DOWN MACRO EDITOR 



RESIDENT FILE ENCRYPTION 



PROKEY COMPATIBILITY 



DISPLAY PROTECTION 



ABILITY TO IMPORT DATA FROM SCREEN 



PULL-DOWN MENU USER INTERFACE 



CONTEXT-SENSITIVE ON-LINE HELP SYSTEM 



DISPLAY-ONLY MACRO CREATION 



ENTRY AND FORMAT CONTROL IN DATA FIELDS 



COMMAND KEYS REDEFINABLE "ON THE FLY" 



PRICE 



Sony ProKey! 



Superb software at reasonable prices! 

There is much more to SuperKty Maybe the best 
reason to buy SuperKey is that it is a Borland 
International Product. Each one of our products 
is the best in its category. We only believe in 
absolutely superb software at reasonable prices! 

An offer you can't refuse. 

Whether you are a ProKey user or you've never used a 
keyboard enhancer before, your boat has come in. You can 
get your copy of SuperKey at this irresistible price. 

Get your PC a SuperKey today! 

SuperKey is available now for your IBM PC, XT, AT, j'r. and truly 
compatible microcomputers. 



Inquiry 61 for End-Users. 



t 



BORlfiftD 

INTERNATIONAL 



inquiry 62 for DEALERS ONLY, 

Software's Newest Direction 



4585 Scotts Valley Drive 
Scotts Valley, CA 95066 
TELEX 172373 



IBM is a registered trademark of International Business Machine Corporation. ProKey is a trademark 
of RoseSof t. SuperKey and SdaKick are trademarks of Borland international, inc. CompuServe is a 
trademark of CompuServe Corp. 




Total ProKey compatibility. Every Prokey Macro file may be 
used by SuperKey without change so that you may capitalize on 
all the precious time you've invested. 

Now your PC can keep a secret! SuperKey includes a resident 
file encryption system that uses your password to encrypt and 
decrypt files, even while running other programs. Two different 
encryption modes are offered: 

1. Direct overwrite encryption (which leaves the file size un- 
changed) for complete protection. At no point is a second file 
that could be reconstructed by an intruder generated. Without 
your secret password, no one will ever be able to type out your 
confidential letters again! 

2. COM or EXE file encryption which allows you to encrypt a 
binary file into an ASCII file, transmit it through a phone line as a 
text file and turn it back again into an executable file on the 
target machine (only of course if your correspondent knows the 
secret password!). Now, you will even be able to secretly ex- 
change programs through Public Bulletin Board Systems or 
services such as CompuServe. 

Totally memory resident at all times, gives SuperKey the ability 
to create, edit, save and even recall new or existing macro files 
anytime, even while running another program. 

Pull down macro editor. Finally, a sensible way to create, edit, 
change and alter existing macro definitions. Even while using 
another application, a simple keystroke instantly opens a 
wordprocessor-like window where you're allowed to see, 
edit, delete, save and even attach names to an indi- 
vidual macro or file of macros, and 
much more. 



wSk 



dealer ^ 



Her dealers jf^l* 
nearest y° u - 



caiKso^Soac* 



&"2S&* 



255-i 



Se copies- 



I 




^-SBSSSSS* 



ASK BYTE 



Conducted by Steve Garcia 



Speed Up a Micro 

Dear Steve, 

1 hope 1 am not asking for the moon, but 
how does one speed up a micropro- 
cessor? Will doing that cause problems in 
the operation of the computer? 

A. C. Posada 
Charlottesville, VA 

Microprocessor instructions require a 
specific number of cycles to execute. 
These cycles are timed by a system clock, 
and the speed of the computer is a direct 
function of the clock frequency. Increas- 
ing the frequency of the system clock, 
simply by changing a crystal or divider 
circuit will increase the overall execu- 
tion speed, but there are some limita- 
tions. 

The microprocessor chip itself has a 
speed limitation, so when the clock fre- 
quency is increased, often a higher-speed 
version must be used. This is usually what 
the letter at the end of the chip number 
signifies. 

The memory chips are also affected by 
speed and must be replaced with faster 
versions. Otherwise, additional wait 
states, which reduce some of the benefits 
of the increased speed, will be needed. 
Some of the peripheral driver chips may 
become speed-limited, also reducing the 
overall throughput— Steve 

65816 Atari? 

Dear Steve, 

1 have been considering upgrading my 
Atari 800 by installing a 65816 chip in 
place of t h e 6 502 . According t o the adver- 
tisements, the chip is software- and hard- 
ware-compatible with any machine using 
a 6502. The lure of a 16-bit processor able 
to directly address 16 megabytes is hard 
to resist, but 1 am worried. 

If the chip from Western Design Center 
is all that it is claimed to be, why isn't 
everybody installing it instantly? 

James E. Rainey 
Coos Bay, OR 

The new 65816 microprocessor chip 
has a 6502 emulation mode. In this 
mode, it is pin- and software-compatible 
with the 8-bit 6502 that is used in your 
Atari 800. 



When used to its full capability, ad- 
dressing 16 megabytes requires a 24-bit 
address bus. The 65816 handles the extra 
8 address bits by multiplexing them with 
the data bus. On one half of a clock cycle, 
the pins are used for address lines; on 
the other half cycle, for data lines. This 
multiplexing requires additional circuitry, 
which is not readily adaptable to your 
Atari. This is why it has not become wide- 
ly used. 

A complete description of this new 
chip can be found in the August and 
September 1984 issuesofBYTEina two- 
part article by Steven R Hendrix, "The 
65816 Microprocessor. ' '—Steve 

Half-inch Tape Backup 

Dear Steve, 

I've been frustrated for a long time 
because most microcomputer manufac- 
turers don't offer !/2-inch tape drives as an 
optional accessory. The only one 1 know 
of that does is Wicat. 

Most of them offer 14-inch streamer tape 
for backing up hard disks, but S/2-inch tape 
would seem to be an ideal bridge over a 
wide gap between many mainframe sys- 
tems and micros. For instance, my firm, a 
nonprofit organization, maintains a large 
mailing list with a data-processing service. 
I've spoken to the people there, and they 
have neither floppy-disk nor modem capa- 
bilities. The only way they can communi- 
cate is via !/2-inch tape. 1 have gone the 
route of transferring from tape to floppy 
disk, but that is cumbersome and expen- 
sive (not in principle, but in practice); few 
firms offer this service, at least in this area. 
We could save a lot of money (in key- 
boarding time and errors) if we could write 
14-inch tapes. 

I've resisted purchasing the !4-inch 
streamer-tape unit that Molecular, the 
manufacturer of one of our computers, of- 
fers because a /2-inch tape drive would 
allow me to easily back up my hard disk 
and communicate with the big fellows, 
assuming enough compatibility were built 
in. 1 assume the larger tape drive would 
cost two or three times as much as the 
smaller ones do, but it would be worth it 
to gain both the larger capacity and abili- 
ty to communicate. 

Do you know of anyone offering a solu- 



tion to this problem or planning to ad- 
dress it? Would a controller have to be 
built for each type of micro, or could 
something be set up to run from a serial 
port? 

Steve Goldfield 
San Francisco, CA 

Overland Data Inc. sells a 9-track tape 
controller for the IBM PC. It is capable 
of reading and writing industry-standard 
'/2-inch tape and is compatible with most 
9-track formatted tape drives. It operates 
with tape-drive speeds up to 120 inches 
per second and allows data transfer at 
rates up to 192,000 bytes per second. It 
sells for $880 and can be purchased from 
Overland Data Inc., Suite A, 5644 Kearny 
Mesa Rd., San Diego, CA 92111, (619) 
57/-5555.-Steve 

Tall Order 

Dear Steve, 

1 make my living writing software, and 
my only exposure to hardware has been 
through building several Heathkits. 1 would 
like to build a computer system from 
board level, since it would enable me to 
create a system to suit my needs. Also, it 
would probably be cheaper than purchas- 
ing a Heath H-100, for example. Just about 
all I know hardware-wise is the difference 
between an S-100 bus and a DB-25 con- 
nector— 1 could not tell you the difference 
between a switching and nonswitching 
power supply. 

How hard is it to get an operating sys- 
tem/software for a machine that 1 put 
together myself? What are other major ad- 
vantages and disadvantages that 1 should 
be aware of? Can you recommend some 
books that can get me up to speed with 
hardware? 

Jeffrey Shulman 
Highland Park, NJ 

Building your own computer from 
scratch is quite different from assembling 
Heathkits. If you want to get some idea 
of the scope of the job of designing and 
building a computer with capabilities on 
the order of the H-100, read my articles 
on the MPX-16 in the November and 
December 1 982 and January 1983 issues 

{continued) 



48 B YTE • JUNE 1985 



COPYRIGHT© 1985 STEVEN A. CIARC1A. ALL RIGHTS RESERVED. 




© 1985 AT&T Information Systems 




THE AT&T PC. 

THE COMPUTER WITH 

THE FUTURE BUILT IH. 





Before you buy a personal com- 
puter for your business you should 
ask yourself two essential questions. 
One: What do you need today? Two: 
What will you need tomorrow? 

The AT&T PC 6300 is the answer 
to both. Tbday, you'll get a high per- 
formance computer that's competi- 
tively priced. A computer that not 
only runs the broadest selection of 
software available, but has the power 
and speed to make the most of it. A 
computer with superb graphics in 
monochrome or color. And a high reso- 
lution screen that's easy on the eyes. 

For tomorrow, you'll get a com- 
puter with the future built in. With its 
modular architecture and seven expan- 




That's a commitment from AT&T. 
And the AT&T PG, the computer with 
the future built in. 

For more information, call your 
AT&T Account Executive, visit an 
authorized AT&T dealer, or call 
1-800-247-1212. 



■»\H\ 



sion slots, it's ready now to work with 
future technology, and meet your 
future needs. From additional power 
to multi-tasking capabilities, even to 
features yet to come, it can be easily 
enhanced as time goes by. 



AT&T 

The right choice 



Inquiry 41 



Inquiry 311 




PC & COMPAQ 



IBM PC wflrive. monitor 1450 

IBM PC w/256k (2) 360 drives, 
keyboard, monitor & monitor 

adptr Call 

IBM PC w/(1) 360k floppy & 

20MU disc drtve 2M5 

IBM PC as above w/RGB color 

monitor Call 

IBM PC-XT w/256k Call 

IBM AT Enhanced Call 

CANON Aihena Call 

COMPAQ PORTABLE w/256k. (2) 
360 disc drives. DOS 8. 

basic 2199 

COMPAQ PLUS Call 

COMPAQ Desk Pros Call 

LEADING EDGE PC wfi28k (2) 
360 disc drives, monitor & 

adapter, basic DOS 2.11 1499 

LEADING EDGE PC wf256k as 

above bul RGB color 1995 

LEADING EDGE 10ML hard disc 

system 2595 

SANYQ 5502..... 699 

SANYO 555-2 979 

ZENITH ZF 15120 w/{2) 360k 
disc drives. 128k RAM, IBM com 
patible, wrtree Microsoft Word & 
tree Microsoft Multiplan & Color 

graphics card 1599 

ZENITH ZW 151-52 as above but 
w/color monitor & 10Mb hard disc 

system 3495 

ZENITH 3 COM Local Area 

Network Call 

LAP COMUTEHS 
HP 110 w/272k HAM. Lotus 123. 

80 col display, 95ibs 2295 

MORHOW w/{2) 360k, disc 
drives. 13lbs.. 255k, IBM 
compatible..... Call 

'boards ™- 

FOR IBM 

AMDEK MIA * 389 

AST 6 Pak Plos w/64k 244 

HERCULES color card 169 

HERCULES graphic card lor T7L 

mono monitor .289 

KOLA game controller 44 

TECMAR CAPTAIN 



APPLE He wfctrrve 

APPLE lie 

APPLE Macintosh 

APPLE lie protessional system w/ 

128k. (2) auo disc drives & " 

col. card 1429 



PRINTERS , 
& PLOTTERS 




LQ1500.. 



EPSON 

RX 

JUKI: 

6100 389 6300 799 

HP: Laser Printer 2795 

HP: Plotter Call 

Sweet Pea Plotter Call 

NEC: 3550 1349 

OKIDATA: NEW! 182 239 

NEW! 192..349 84 679 

NEW! 193..569 2410 Call 

OLYMPIA: RQ 319 

SILVER REED: 

400 249 500 289 

550 449 770 769 

TOSHIBA: 

1340 598 351. 1239 



/monitors 1 * 

' auric* ?ina n 



AMDEK 310A 179 l t=i/ 

GORILLA Green 89 

LEADING EDGE RGB Color. .399 
TTL Green. 139 HL Amber 149 
PRINCETON GRAPHICS: 

HX-12 459 Max 12 169 

SR 12 w/Scan Doubter 899 

SANYO CRT 30 99 

CRT36 129 CRT70 499 

ZENITH: 

ZVM-122 B9 2VM-I23 98 

ZVM-124 IBM Compatible. 139 



5* 



/HARD fif f - ^\ 
Amove v 



HARD 
DISKS 

Tall Gran Call Ampex Call 

Bernoulli Box 20Mb 2449 

Tecmar 20Mb & 60Mb tape 
backup Call 

^SOFTWARE 
f/IBM 

Lolus 123.. 289 
Word Star. .189 
Multimate ..249 

SideKick 32 

Copywrite....39 
Sargon III — 39 
Master Type.34 
TK! Solver .249 



~3~ 



MODEMS 

HAYES: 

300 209 1200 409 

1200B wrSmarlcom II 369 

SMARTCOM II 99 

2400 Call 

Micro Modem He 249 

NOVATION SMARTCAT 

Internal 348 Exln 348 

US ROBOTICS: Password „ 
329 



mM 



Symphony .419 
WordStar Pro 249 
Turbo Pascal32 
Master Type .34 

Sideways 59 

Zork 29 

Print Works .59 
Think Tank. 109 

IBM Topview Call 

Framework ol dBase III 349 

Flighl Simulator 39 

Word w/Spell 229 

Word Star 2000 249 

PC Paintbrush w/Mouse 149 

NORTON utilities 30 59 

R Base 4000 258 

Managing Your Money 119 

Typing Tutor III 34 

Desk Organizer 129 

Electric Desk 199 

Smart Soltware Call 

XY Write II Plus 219 

Quick Code III 149 

Word Perfect 40 249 

PeachTree Decision Manager.. .319 



OS/DO 
29 
24 



DISKETTES 

SS/OD 
verbatim Data Lite (M))21 

FUJI (10) 18 

MAXELL (10) 19 

BASF (10) 17 Z3 

IBM (10) 22 29 

FAMOUS MAKE. ...13 T9 

SPECIAL I TDK 

Quantities of 100iea 1.35 ea 1.55 



'access, e *2r \ 

Disc Bank holds 50 ™....14 

HEAD disc drive cleaner ....13 

VERBATIM IBM drive analyzer. 29 
SURGE PROTECTORS: 
NETWORK cube w/RF tiller 



T 

TYPEWRITERS !?S 

CANON Typeslar 5 148 

CANON Typeslar 6 196 

BROTHER CE 58 458 

OLYMPIA Compact II 384 

SMITH CORONA 350M *318 



/canon 

COPIERS 



IBM PC 

W/64k(t) 360 Disc Drive .,„-„ 

& Keyboard lZHy 

IBM PC W/256k (2) 360 Disc 
Drives. Graphics Monitor Card. 
Mon.. Keybd & Software Kit. ..Call 
IBM PC AT Call 



LEADING 
EDGE PC 

Wfl28k. Leading / fmmm<-\ 

Edge Monitor. / - w " w -* \ 



Keyboard, Monitor 4jnn 
& Printer Adapter 1 499 



ZENITH zf i5i-20 iBM, 

W/(2) 360k JB^BI 

Disc Drives. 128k .^Si 
RAM. Microsoft Word. » 
Multiplan. Keyboard, & - 
90 Day On Sight Service., 



*~M 



PC 10 469 PC 20 665 

PC 25 939 Stand 99 



SANYO 550-2 

Nw Runs Lolus 123" 
IBM PC Compatible. 
360k Disc Drive, 
128k RAM. Word Slar 
Calc Slar & Easy Writer 
HGB VIDEO CARD 



OLYMPIA RO L 

Daisy Wheel B^a 

Letter Quality. ■ 

14 Cps w/Paral!el & ^^™ 
Serial Ports w/Buill In 
Tractor Feed «j n 

3 PitchOIMLYi J|9 



COMPAQ 

Portable W/{2) 360k 

Disc Drrves. DOS & 0inn 

Basic Keyboard ZlMB 

COMPAQ 

Plus W/Hard Disc In Slock 



1265 Broadway at 32nd Street New York 10001 i 

CORPORATE ACCCHJNfS WELCOME Minimum Shipping Older S50 

*f^7* TELEX «m&82 SPWUI $250 Service Charge lor Orders ( 

■ -oO'- *,Visa, Mastercard Welcome Linda- J50 Minimum Shipping M9S 

fWH/'A*' tone Prices Mail Order Only We *e Nol Responsible For typos 4 

felTTV/ We Reserve The Right lo Limit 0' Manufacturer s Price Changes 

^*J^ Ouanlilies * 

A ftiLfl QJLSLQJULSLSI $k 



ASK BYTE 



of BYTE. You could build that yourself 
and save some money, but 1 recommend 
that you buy the circuit board. Wire- 
wrapping a project such as this is not 
recommended. 

If you want to start with something 
more modest to learn something about 
microcomputers, you could build The Lit- 
tie Board from Digital Research Com- 
puters (POB 461 565, Garland, TX 75046) 
or any of the other small computer sys- 
tems advertised in the back pages of 
BYTE. 

A practical, though not the least expen- 
sive, way to build a computer to meet 
your requirements is to assemble an 
S-IOO system using commercially avail- 
able boards. You can build your own 
special-purpose cards using the S-IOO 
prototyping boards, and many of the 
common functions like serial I/O, video, 
and printer-interface boards are available 
in kit form. The book Interfacing to S-IOO 
IEEE 696 Microcomputers by Sol Libes 
and Mark Garetz (Osborne/McGraw-Hill) 
gives good information on interfacing to 
things such as memory and I/O for the 
S-IOO, and in a general way for most 
computers. 

Operating systems like Digital Re- 
search's CP/M and Microsoft's MS-DOS 
are readily available, either directly from 
the manufacturer or from computer 
stores and advertisers in BYTE. —Steve 

Sticky Keys 

Dear Steve, 

I would appreciate any advice you might 
give on remedies for sticking keys. I have 
found them to be a minor but distracting 
problem on my TI Professional computer, 
and, after consulting with friends who use 
other micros, I think the problem is fairly 
widespread. Is it possible to apply a dry 
lubricant or a leflon spray on key 
mechanisms without interfering with elec- 
tronic circuitry? 

A second question has to do with clean- 
ing the magnetic heads of floppy-disk 
drives. There seems to be no consensus 
about the use or the frequency of use of 
cleaning kits. Can you offer an opinion? 
Richard S. Moore 
Huntsville, AL 

Sticking keys can be a real nuisance, 
and a spray lubricant may or may not be 
effective. One of the main causes of the 
sticking or binding is an interference be- 
tween the key plunger (the stem under 
the key top) and the switch housing. 
Often, the clearance between these parts 
is very small to preclude dust and dirt 



from entering, but some dirt particles can 
cause binding. In this instance, a control 
cleaner (available at most electronic 
supply stores) or some alcohol may suc- 
cessfully flush away these particles. 

Swelling of the plastic is another cause, 
but lubricants have little effect since they 
are quickly scraped away. A Teflon spray 
or control cleaner can be tried, but re- 
placement of the switch is often the final 
solution. 

Disk-drive cleaning kits should be used 
as required and not as regular mainte- 
nance. These kits are abrasive and will, 
over a period of time, damage the read/ 
write head of the drive. The in-out mo- 
tion of the head on the rotating disk pro- 
vides a self -cleaning action for most con- 
taminants. Frequency of use will depend 
mainly on the quality of the disk medium. 
Some brands seem to have more loose 
oxide than others. As a general rule, use 
a disk-cleaning kit when an occasional 
read error is noted— Steve 

Bigger Buffer 

Dear Steve, 

I own a Dynax DX-1 5 printer with a built- 
in 3K-byte buffer that is expandable to 5K 
bytes. This additional 2K bytes hardly 
seems worth fooling with. Is there any way 
this internal buffer can be expanded to 
something more worthwhile, such as 1 6K 
bytes or more, without radical surgery? It 
seems to me that since the buffer is al- 
ready present, it shouldn't be too compli- 
cated to expand it to 64K bytes. Yes or no? 

Thank you for any suggestions you have 
that might make my Dynax more useful 
or save it from needless slaughter. 

Gerry L. Iurner 
Quincy, 1L 

1 have no circuit data for the Dynax 
printer, so I am unable to determine if 
it is possible to expand the buffer beyond 
the 5K bytes that Dynax provides. It is 
a function of the address decoding that 
is utilized. Since the control-program and 
character-generator ROMs require a sub- 
stantial amount of the controller's ad- 
dress space, it is doubtful that 64 K bytes 
of memory can be obtained. Even if com- 
patible memory chips of higher capaci- 
ty could be used, decoding limits may 
cause the controller to ignore anything 
over the 5K-byte limit. 

If you need more buffer space, con- 
sider one of the external buffers 
(spoolers) like the Microfazer from 
Quad ram Corp. or the Spool/64 or 
Spool /64SP from Apparat Inc. These pro- 

[continued) 



50 BYTE • )UNE 1985 



YOU'VE GOT THE BEST PASCAL COMPILER! 
NOW — GET THE BEST UTILITY! 







4&< 



ofc 






NEVER AGAIN WRITE SOURCE CODE FOR SCREEN DISPLAYS! 

If you LIKE Turbo Pascal", you'll LOVE TURBO SCREEN'"! 

Tired of writing line after line of source code just to create effective screen displays and error-proof data handling? 
Then use TURBO SCREEN'S Editor to create the screens, the Collator to define a list of screens. . . 

and then relax for a few seconds while the Generator writes the code! 



TURBOSCREEN 



TM 



100 Fields per screen, and up to 80 screens in your application. 
One screen or eighty/the size of yourr program doesn't change. 
I/O fleid types of: 

Real, Integer, String, Character, Boolean. 
"Bullet-proof" data entry. 

Create Window-Style overlays or Full -screen pictures In 
CP/M\ MS-DOS', or PC-DOS. 

Supports video attributes for your terminal. And YES, if you 
have an RGB monitor, you can create screens in COLOR on 
your IBM PC or true compatible. 

A SINGLE LINE of source code invoking TURBO SCREEN'S 
"display" procedure controls: 

—picture selection 

—output to screen, printer, or disk 

—I/O field update 



TURBO SCREEN™ is completely menu-driven and includes a 
built-in Screen Editor, Collator, and Generator, each called 
up with a single keystroke! 
ADVANCED EDITOR: 
—Turbo Pascal*- like commands include: 

—Block commands for copy, fill, exchange, erase. 

—Draw lines in any direction with any character. 

—Supports IBM color monitor and graphics characters. 
FAST— Generates code for 20 screens In about 60 seconds! 

DISK UTILITIES built-in: 

—directories 

—erase files 
REQUIRES: 

—Turbo Pascal any version 

—80x24 or larger video screen 
AVOID software "bottlenecks!" 



PflSCOM 
COMPUTING 

23611 Chagrin Blvd., Suite 101 
Cleveland, Ohio 44122 



Start letting TURBO SCREE N™ write your I/O source code today! 

ONLY — Call TOLL-FREE: 1-800-243-1849 



Check 



Money Order 
Visa 



TURBOSCREEN™ 
package $49.95 
Plus Ship. 
(UPS) 5.00 

Total $54.95 



Inside Ohio call 1-216-292-8745 (Lines Open 24 hours, 7 days) 

Computer System: 8-bit 16-bit 

Operating System: CP/M80 PC-DOS 

CP/M86 MS-DOS 

Computer Model: 

Name: 



Disk Format: 



MasterCard. 
Card # 



Address: 
City: 



.State. 



.Zip. 



Exp. Date: 



Telephone: 



Ohio residents add 6 Vz % sales tax. Outside U.S.A. add $20.00 U.S. Dealer Inquiries Welcome. 

*Turbo Pascal is a trademark of Borland International. IBM is a trademark of International Business Machines. MS-DOS is a trademark of Microsoft. CP/M Is a trademark of Digital Research. 



Inquiry 318 



10 MB Hard Disk Drive Set $569 
20 MB Hard Disk Drive Set $749 



130W Switching 
Power Supply $109 





Direct replacement for your IBM PC power 
supply. Fits inside your PC case. Four power 
plugs allow you to connect floppy & hard disk 
drives, tape backup systems, etc. 




Includes top quality half height Microscience hard 
disk drive, Mitsuba hard disk drive controller, cables, 
full height cover plate, mounting screws, software, 
installation instructions. Microscience is known for 
quality & performance. Full year warranty. You cannot 
beat the value & our low price. 

Multifunction Board (OK) $149 

Includes one serial port, one parallel port, one game 
port, clock/calendar & 6 memory banks. Can add up to 
addl. 384K. to your PC. Software included to perform 
set/get clock, RAM disk & printer spool. 

Please call or write for FREE catalog 312-355-9726 

MICRO CITY P.O. Box 571, Downers Grove, IL 60515 

A Division of PACE Systems, inc. 

We accept check, money order, VISA, Mastercard, or American Express {include ft and expiration date). Our prices reflect a 
2%cash discount. Please add 2%forcredit card purchase. $2.50 shippingA handling in continental U.S. {Alaska. Hawaii and 
foreign add $5.00 for orders under$ 1 00, 5% for orders over $ 1 00). Illinois residents add 6.25%sales tax. Personal and company 
checksallow 2 weeks to clear. Purchase orders accepted f romschools and major corporations. Prices subject to change without 
notice. Dealer inquiries invited. If in the Chicago area, we invite you to visit our retail showroom located at 24 W. 500 Maple 
Ave.. Naperville. 



The Dream, 

Knee-top PC with APL Productivity 

and Voice Networking too! 




"Battery operation 

8MHz 68000 CPU 

iUp to 448K bytes of RAM 
•128K bytes of ROM 

>25x80character LCD 

i Bit-mapped graphics 

'Multiple windowing 

i Multijob, multitask OS for 

powerful networking 
•Coherent DB-WP-CALC-Graphic software 
• Intelligent phone function 
" Microcassette voice/data storage 



ampEPE 



INCORPORATED 

3ldg.,5-20. 7-chome Nishi-Shinjuku, ! 
y, 03-365-0825. Telefax: 03-365-0999 
IP Sharp Mail Box Code: AMP (Gro 



U S. Representative Office 

WORKSmCE 

COMPUTER INC. 



on st Suite 301 T 

K 213-540-1553, Te 



nee, California 90503, U 
322800 WORK SPACE 



ASK BYTE 



vide 64 K bytes or more and features like 
multiple copies and the ability to cancel 
printing. Such buffers are available to 
match almost any printer/computer com- 
bination for around $150 and up, de- 
pending on memory size and features. 
— Steve 

Printer Trouble 

Dear Steve, 

We are having trouble printing graphics 
with our Toshiba PI 3 50 dot-matrix printer, 
which is hosted by a Zenith Z-100 Model 
ZW-1 10-32 desktop computer. The printer 
has graphics characters and dot-image 
graphics printing capability. However, it 
does not respond to any Printgraph com- 
mands or any Escape sequence printer 
setup commands while using Lotus 1-2-3. 
In Z-BASIC the printer accepts a few 
Escape sequence commands but not 
those that enable the graphics mode. We'd 
appreciate any help you can provide. 

Dominic Au 
Calgary, Alberta, Canada 

If the inability to get your Toshiba 
PI 350 to print graphics were limited to 
Lotus 1-2-3. 1 would suspect that the 
printer driver was not properly installed 
in the program. Since it doesn't work in 
BASIC either, it appears that you have a 
printer problem. The graphics option 
may be defective or missing, or there 
may be a bad or incorrectly wired cable. 
The latter is not too likely since you don't 
mention any other problems. Toshiba 
says you need the PaperScreen and the 
color/graphics adapter to print graphics 
with Lotus 1-2-3 on the IBM PC, so 
maybe you are encountering a minor in- 
compatibility with the Zenith graphics 
board. 

There are two other possibilities. If you 
are using a serial interface, the protocol 
must be set for 8-bit data to use graphics. 
Also, check your manual to see if there 
are any switch settings that could be dis- 
abling the graphics. If none of these sug- 
gestions help, the printer is either not 
working properly or does not have the 
correct options installed. Take it to your 
dealer or a Toshiba service center for 
diagnosis— Steve 

INTERCABIN TELEPHONES 

Dear Steve, 

1 am part owner of a summer resort with 
1 1 cabins. The main cabin has the only 
telephone line out of camp, and the other 
cabins have no communication lines. 1 
would like to build a telephone system for 

[continued) 



52 B YTE • JUNE 1985 



Inquiry 29 




AziEc The Most Powerful C 



for the IBM AT • MACINTOSH • MS DOS • CP/M-80 • ROM APPLICATIONS 
IBM PC/XT • APPLE // • CP/M-86 • TRSDOS • CROSS DEVELOPMENT 



Why Professionals Choose Aztec C 

AZTEC C compilers generate fast, compact 
code. AZTEC C is a sophisticated development 
system with assemblers, debuggers, linkers, 
editors, utilities and extensive run time libraries. 
AZTEC C is documented in detail. AZTEC C is 
the most accurate and portable implementation 
of C for microcomputers. AZTEC C supports 
specialized professional needs such as cross 
development and ROM code development. 
MANX provides qualified technical support. 

AZTEC C86/PRO 
- for the IBM AT and PC/XT 

AZTEC C86/PRO provides the power, portabili- 
ty, and professional features you need to 
develop sophisticated software for PC DOS, MS 
DOS AND CP/M-86 based microsystems. The 
system also supports the generation of ROM 
based software for 8088/8086, 80186, and 80286 
processors. Options exist to cross develop ROM 
code for 65xx, 8080, 8085, and Z80 processors. 
Cross development systems are also available 
that target most micro computers. Call for infor- 
mation on AZTEC C86/PRO support for XENIX 
and TOPVIEW. 



POWERFUL — AZTEC C86/PRO 3.2 outper- 
forms Lattice 2.1 on the DHRYSTONE 
benchmark 2 to 1 for speed (17.8 sees vs 37.1) 
while using 65% less memory (5.8k vs 14k). The 
AZTEC C86/PRO system also compiles in 10% 
to 60% less timeand supports fast, high volume 
I/O. 



PORTABLE — MANX Software Systems pro- 
vides real portability with a family of compatible 
AZTEC C software development systems for PC 
DOS, MS DOS, CP/M-86, Macintosh, CP/M-80, 
APPLE // + , lie, and lie (NIBBLE - 4 apple rating), 
TRSDOS (80-MICRO - 5 star rating), and Commo- 
dore C64 (the C64 system is only available as a 
cross compiler - call for details). AZTEC 
C86/PRO is compatible with UNIX and XENIX. 



PROFESSIONAL — For professional features 
AZTEC C86/PRO is unparalleled. 

• Full C Compiler (8088/8086 - 80186 - 80286) 

• Macro Assembler for 8088/8086/80186/80286 

• Linkage Editor with ROM support and overlays 

• Run Time Libraries - object libraries + source 
DOS 1.x; DOS 2.x; DOS 3.x; screen I/O; Graphics; 
UNIX I/O; STRING; simulated float; 8087 support; 
MATH; ROM; CP/M-86 

• Selection of 8088/8086, 80186, or 80286 code genera- 
tion to guarantee best choice for performance and 
compatibility 



• Utility to convert AZTEC object code or libraries to 
Microsoft format. (Assembly + conversion takes 
less than half the time as Microsoft's MASM to pro- 
duce MS object) 

• Large memory models and sophisticated memory 
management 

• Support products for graphics, DB, Screen, & ... 

• ROMabtecode + ROM support + separate code and 
data + INTEL Hex Converter 

• Symbolic Debugger & Other Utilities 

• Full Screen Editor(like VI) 

• CROSS Compilers are available to APPLE //, Macin- 
tosh, CP/M-80, TRSDOS, COMMODORE C64, and 
ROM based 65xx, and 8080/8085/Z80 

• Detailed Documentation 

AZTEC C86/PRO-AT $500 

(configured for IBM AT - options for 8088/8086) 

AZTEC C86/PRO-PC/XT $500 

(configured for IBM PC/XT - options for 80186/80286) 

AZTEC C86/BAS Includes C compiler (small model only), 
8086 MACRO assembler, overlay linker, UNIX, MATH, 
SCREEN, and GRAPHICS libraries, debugger, and 
editor. 

AZTEC C86/BAS $199 

AZTEC C86/BAS (CP/M-86) $199 

AZTEC C86/BAS(DOS + CP/M-86) $299 

UPGRADE to AZTEC C86/PRO $310 

C-TREE Database with source $399 

C-TREE Database (object) $149 

CROSS COMPILERS 

CrossCompilers for ROM, MS DOS, PC DOS, orCP/M-86 
applications. 

VAX - >8086/80xxx cross $5000 

PDP-11 • >8086/80xxx cross $2000 

Cross Compilers with PC DOS orCP/M-86 hosts are $750 
for the first target and $500 for each additional target. 
Targets: 65xx; CP/M-80; C64; 8080/8085/Z80; Macintosh; 
TRSDOS; 8086/8088/80186/80286; APPLE //. 



AZTEC C68K 
— for the Macintosh 

For power, portability, and professional features 
AZTEC C68K-C is the finest C software development 
system available for the Macintosh. 

The AZTEC C68K-C system Includes a 68000 macro 
assembler, a linkage editor, a source editor, a mouse 
based editor, a SHELL development environment, a 
library of UNIX I/O and utility routines, full access and 
support of the Macintosh TOOLBOX routines, debug- 
ging aides, utilities, make, diff, grep.TTY simulator with 
upload & download (source supplied), a RAM disk (for 
512K Mac), a resource maker, and a no royalty license 
agreement. Programming examples are included. (Over 
600 pages of documentation). 

AZTEC C68K-C requires a 128K Macintosh, 
and two disk drives (frugal developers can make 
do with one drive). AZTEC C68K supports the 
512K Macintosh and hard disks. 

AZTEC C68K-C (commercial system) $500 

AZTEC C68K-p (personal system) $199 

AZTEC C68K-p to AZTEC C68K-C upgrade $310 



MacC-treedatabase $149 

Mac C-tree database with source $399 

Lisa Kit (Pascal to AZTEC C68k object converter) ..$ 99 



AZTEC C65 

— for the APPLE // 

"...The AZTEC C-system is one of the finest software 
packages I have seen..." NIBBLE review, July 1984. 

The only commercial C development system available 
that runs native on the APPLE II + , lie, and lie, the 
AZTEC C65 development system includes af ull floating 
point C complier compatible with UNIX C and other 
MANX AZTEC C compliers, a 6502 relocating assem- 
bler, a linkage editor, a library utility, a SHELL develop- 
ment environment, a full screen editor, UNIX I/O and 
utility subroutines, simple graphics, and screen func- 
tions. 

AZTEC C65 (Apple DOS 3.3) $199 

AZTEC C65/PRO (Apple DOS + ProDos) $350 

(call for availability) 



AZTEC C ll/PRO 

- for CP/M-80 

The first member of the AZTEC C family was the 
CP/M-80 AZTEC C compiler. It is "the standard" com- 
piler for development on CP/M-80. The system includes 
the AZTEC C II C compiler, an 8080 assembler, a linkage 
editor, an object librarian, a full library of UNIX I/O and 
utility routines, CP/M-80 run time routines, the SMALL 
library (creates modules less than 3K In size), the fast 
linker for reduced development times, the ROM library, 
RMAC and M80 support, library source, support for 
DRI's SID/ZSID symbolic debugger, and more. 

AZTEC C ll/PRO $349 

AZTEC CII/BAS $199 

C-TREE Database with source $399 

C-TREE Database in AZTEC object form $149 



AZTEC C80 

— for TRSDOS (Radio Shack Model III & 4) 

"I've had a lot of experience with different C compilers, 
but the Aztec C80 Compiler and Professional Develop- 
ment System is the best I've seen." 80-Micro, Decem- 
ber, 1984, John B. Harrell III 

This sytem has most of the features of AZTEC C II for 
CP/M. It is perhaps the best software development 
system for the Radio Shack Model III and IV. 

AZTECC80 model 3 (no floating point) $149 

AZTEC C80 model 4 (full) $199 

AZTECC80/PRO(full for model 3 and 4) $299 

To order or for information call: 

800-221-0440 

(201) 530-7997 (NJ and outside U.S.A.). Or write: MANX 
SOFTWARE SYSTEMS, P.O. Box 55, Shrewsbury, N.J. 
07701. 



MANX 



TRS 80 RADIO SHACKTRSDOS is a trademark of TANDY. 
APPLE DOS MACINTOSH is a trademark of APPLE. 




SHIPPING INFORMATION - Standard U.S. 
shipment is UPS ground (no fee). In the U.S. 
one day shipment is $20, two days is $10. 
Canadian shipment is $10. Two days ship- 
ment outside the U.S. is by courier and is 
freight collect. 



For Technical Support 
(Bug Busters) call: 201-530-6557 



Inquiry 262 



JUNE 1985 -BYTE 53 



Inquiry 356 



Robotic Development 
System Using IBM PC/Apple lie 



tf-f 



M M 






D-^0- 



0BKOK/A ~ 




. 



Complete 2 axis systems using 2 size 23 stepper motors 
with R2D23 dual-axis driver; cable & powerful system software, 
expandable to 4 axis. 

IBM PC/XT Version $792 Apple ll/lle Version $420 

• I 432 I/O stepper controller • A6 T/D stepper controller 

• 32 digital I/O • 32 digital I/O available 

Digital I/O accessories, power supply and higher power size 34 
stepper motor system are available. 



[jt ROGERS LABS 



(714) 751-0442 
2727-E So. Croddy Way, Santa Ana, CA 92704 TELEX 681393 





CATALOG 

YOUR 80-PAGE GUIDE TO COMPUTER 
SUPPLIES AND ACCESSORIES -INCLUDING 
COMPLETE NEW PRODUCT DESCRIPTIONS. 



Packed with over 1600 products (or microcomputers, mini- 
computers, and word processors - many available nowhere else. 

Big special sectiondevoted to newsupplies and accessories. 

■ Comprehensive product descriptions-with more than 
475 lull-color photos— clearly explain features and benefits. 

■ Easy-to-use cross reference guides to magnetic 
- media, ribbons, and more - along with the industry!s 
most complete cable guide. 

Helpful suggestions and tips, ranging from flexible disk 
care to proper ribbon selection to useful application ideas. 



PHONE TOLL-FREE 1-800-547-5444* OR SEND COUPON BELOW TODAY 

*ln California, call 1-800-547-5447. 



I 
I 
I 



Inmac Catalog Dept, 2465 Augustine 
Drive, Santa Clara, California 95054 

Please rush my free copy of the Inmac 
Catalog. I understand there is absolutely 
no obligation whatsoever. 



. PHONE . 



i 
i 
i 



ASK BYTE 



the camp that would allow a telephone in 
every cabin (preferably pulse dial because 
of their current low cost), intercabin com- 
munications, and access to the one main 
line from every cabin. 

Could you recommend: (I) a circuit to 
decode pulses from the incoming lines, (2) 
any telecommunications integrated cir- 
cuits that might aid me, and (3) an inex- 
pensive microprocessor that would han- 
dle all switching requirements? 

David A. Kearney 
Hudson, MA 

Jules H. Gilder has written two books 
on telephones that should give you the 
necessary information to construct the 
intercabin telephone system that you re- 
quire. Telephone Accessories You Can 
Build and More Telephone Accessories 
You Can Build, both published by Hayden 
Book Company, feature the theory of 
operation and simple construction proj- 
ects ranging from a simple ring detector 
to an elaborate telephone system. The 
specific circuits for your project are in 
More Telephone Accessories. These 
books are available at many bookstores. 
—Steve ■ 

Between Circuit Cellar Feedback personal ques- 
tions, and Ask BYTE, I receive hundreds of letters 
each month. As you might have noticed, at the end 
of Ask BYTE 1 have listed my own paid staff. We 
answer many more letters than you see published, 
and it often takes a lot of research. 

\f you would like to share the knowledge you have 
on microcomputer hardware with other BYTE 
readers, joining the Circuit CellarlAsk BYTE staff 
would give you the opportunity. Wre looking for 
additional researchers to answer letters and gather 
Circuit Cellar project material. 

1/ you're interested, let us hear from you. Send 
a short letter describing your areas of interest and 
qualifications to Steve Garcia, POB 582, Glaston- 
bury, CT 06033. 



IN ASK BYTE, Steve Garcia answers questions on 
any area of microcomputing. The most representative 
questions received each month will be answered and 
published. Do you have a nagging problem? Send 
your inquiry to 

Ask BYTE 

do Steve Garcia 

POB 582 

Glastonbury, CT 06033 
Due to the high volume of inquires, personal replies 
cannot be given. All letters and photographs become 
the property of Steve Garcia and cannot be returned. 
Be sure to include 'Ask BYTE" in the address. 

The Ask BYTE staff includes manager Harv 
Weiner and researchers Bill Curlew. Larry Bregoli, 
Dick Sawyer. Robert Stek, and \eannette Dojan. 



54 BYTE • JUNE 1985 



Inquiry 222 



For a demonstration of the Z-Engine please see 
one of the following : 



Winner's Circle 
2816 Telegraph 
Berkley. CA 94705 
(415)845-4814 

Micro Data 

813 N. La Cadena 
Colton. CA 92324 
(714)824-2266 

Software Supermarket 

16200 Hawthorne Blvd. 
Lawndale. CA 90230 
(213)542-3801 

Software Supermarket 
11960 Wilshire Blvd. 
Los Angeles. CA 90025 
(213) 207-1494 

Con-Soft 

429 Hafght Street 

San Francisco, CA 94117 

(415) 628-8181 



Computer Discount Products 

4228 Olympic Avenue 

San Mateo. CA 94403 

(415) 571-1658 

Advanced Computer Products 

1310-B Edinger 

Santa Ana. CA 92705 

(714) 5588813 

Software Supermarket 

15113 Ventura Blvd. 

Sherman Oaks. CA 91403 

(818) 783-3233 

Computer Wave 

6791 Westminster Ave 

Westminster. CA 92683 

(714) 891-2584 

Micro Computer Concepts 

13772 Goldenwest Street 

Westminster. CA 92683 

(714) 898-3002 

(800) 772-3914 



DMA Digital Computer Systems 

105 E. Vermijo 

Colorado Springs. CO 80903 

(303) 475-2488 

Varsity Computing 

401 E. Broad 
Athens. GA 30601 
(404) 548-3434 

Cash Register Systems 

1501 Hicks Street 
Augusta. GA 30904 
(404) 724-1747 

Computer Pro 

2525 Washington Road 
Augusta. GA 30904 
(404) 737-8313 

Varsity Computing 
7732 Spalding Drive 
Norcross. GA 30092 
(404) 446-3434 



Ponder's Computer Ctr. 
117 W.Jefferson Streel 
Thomasville. GA 31792 
(912) 226-3341 

Strickly Software 

2334 S. King Street #206 
Honolulu. HI 96826 
(808) 944-0462 

Memory Lane 

98-1254 Kaahumanu 
Pearl City, HI 96782 
(808) 487-7999 

Caribe Exchange Inc. 

213 South Conroy Street 
Knockville, IA 50138 
(515) 842-3619 

Famsworth Computer Center 
1891 N. Farnsworth 
Aurora. IL 60605 
(312) 851-6567 




Z-Engine delivers 
CP/Nffor your Apple 



Z-Engine delivers a trainload of 
additional programs to your 
Apple II, II + , lie or Apple com- 
patible computer. Many of the 
most powerful and sophisticated pro- 
grams available today are CP/M based; 
Z-Engine opens the door to them all. 
You might expect that something that 
gives so much would cost so much. Not so. 
Z-Engine is, undoubtedly, one of the 
greatest values in the microcomputer industry. 
Z-Engine is first class service at economy fare 
Once the Z-Engine has been delivered we don'i 
off the steam - we support our products - and 
guarantee them. If you knew what we know 
about the Z-Engine you'd be our next customer 
The Z-Engine delivers. 

Advanced Logic Systems 

1195 East Arques Ave. 
Sunnyvale, C A 94086 
(408) 730-0307. 







Compu-Net 

1946 Norlh Clark 

Chicago, IL 60614 

(312) 6644585 

Universal Computer 

1890 First Street 

Highland Park, IL 60035 

(312) 433-8930 

Micro City 

24 W. 500 Maple Ave. 

Naperville, IL 60540 

(312) 355-9749 

Alpine Computer Center 

2418 South Alpine Road 

Rockford, IL 61108 

(815) 229-0200 

Vons Computer 

317 West State Street 

West Lafayette, IN 47906 

(317) 743-4041 

Computer SOS 

5731 Youree Drive 
Shreveport, LA 71105 
(318)865-7188 
Computer Shoppe 
3828 Veterans Blvd. 
Metairie. LA 70002 
(504) 454-6600 
Advanced Management 
2838 Henry Street 
Muskegon, Ml 49441 
(616) 739-3395 
Alternate Computer Supply 
6034 East Street 
Twin Lake, Ml 49457 
(616) 458-7649 
Personalized Computers 
12350 Natural Bridge 
Hazelwood. MO 63044 
(314) 739-0263 

Mid West Computing 

201 North Pine 

Rolla, MO 65401 

(314) 364-1998 

The Computerworks 

121 West Mission 

Bellvue.NB 68005 

(402) 29V7804 

Computer Ark 

1921 New Road 

Northfield, NJ 08225 

(609) 641-4300 

Bayonne Computer Center 

618 Broadway 

Bayonne, NJ 07002 

(201) 436-8555 

Computerland 

2076 E. Route 70 

Cherry Hill, N J 08003 

(609) 424-8100 

AFC Electronics 

Salem Industrial Park Rt. 22 

LeBannon. NJ 08833 

(201) 534-6343 

Round Valley Computer 

Box 448 US HWY, 22 East 

LeBannon. NJ 08833 

(201) 236-9575 

Computer Discount of New Jersey 

280-B Hwy, 17 

Mahwah. NJ 07430 

(201) 529-4026 

Medford Computer Center 

Route 7 Hartford Road 

Medford. NJ 08055 

(609)953-0823 

Family Computer Centres 

154 Valley Street South 

Orange. NJ 07079 

(201) 762-6661 

Family Computer Centers 

154 Valley Street 

South Orange. NJ 07079 

(201) 762-6661 

Computer Pro's Inc. 

West Belt Mall 

Wayne. NJ 07470 

(201) 256-7070 



Computer Discount of America 

31 Marshall Hill Road 

W. Milford, NJ 07480 

In NJ - (201) 728-8082 

Out NJ - (800) 526-5313 

Sandia Micro Systems 

812 Charleston N.E. 

Albuquerque, NM 87110 

(505) 266-7410 

47th Street Photo 

1 15 W. 45th Street 

New York. NY 10036 

(212) 260-4410 

Tec Computer Products Inc. 

56 West 45th Street 

New York. NY 10036 

(212)944-1166 

Byte General Dlst. 

3 SiierksLane 

Roslyn Harbor, NY 11576 

(516) 625-3020 

Upstate Computer Shop 

99 Commercial Drive 

Whitesboro. NY 13692 

(315) 768-8151 

Computer Store of Laurenburg 

1023 South Main 

Laurenburg. NC 28352 

(919) 276 4424 

Audio Buys 

1700 Glenwood Ave 

Raleigh. NC 27608 

(919)821-1776 

Computer Utility Corp. 

808 East Main 

Ada. OK 74820 

(405) 332-4858 

Dowling Inc. 

3017 N. Stiles Ave 

Oaklahoma City. OK 73105 

(405) 528-2933 

Conroy LaPointe 

12060 Southwest Garden Place 

Tigard. OR 97223 

(800) 547-1289 

Edu-Care Micro Computer 

The Learning Source 

Hills Shopping Plaza 

Camp Hill, PA 17011 

(717) 761-7487 

East Coast Software 

49 Derrytown Mall 

Hershey. PA 17033 

(717) 533-8125 

Software Hut 

2534 South Broad Street 

Philadelphia. PA 19145 

(215) 462-2268 

Opus II 

747 Brook Haven Circle 

Memphis. TN 38117 

(901)683-0117 

Inacomp Computer Center 

330 Franklin Road 

Brentwood, TN 37027 

(615) 373-5667 

Software Centre 

5545 Richmond Avenue 

Houston. TX 77056 

(713) 783-9857 

Computer Office 

22025 61st Ave SE 

Bothell, WA 98021 

(206)481-2600 

A.P.P.LE 

290 S.W. 43rd Street 

Renton, WA 98055 

Orders - (800) 426-3867 

Info • (206) 251-5222 

Computer Horizons Inc. 

West Virginia 

Morgantown, Wheeling, Beckley 

(304) 594-1855 

(304) 233-2484 

(304) 255-7474 

Oryx Systems 

425 First Street 

Wausau. Wl 54401 

(715) 848-1374 



Dealer inquiries are invited — please contact one 
of the following distributors. If a distributor or 
dealer is not in your area please contact us directly. 



The Computer Connection 

17121 S. Central Ave. 

Union L 

Carson, CA 90746 

(213) 514-9019 

Softeam 

900 West Walnut Street 
Compton, CA 90220 
(800) 847-6383 



Softsel Computer Products 

546 Oak 

Englewood. CA 90312-6080 

(800)847-6383 



Caltek Components 

4079 Glen Coe Ave 
Marina Del Rey. CA 90292 
(213) 827-1851 



First Soflware 

17-21 Ballard Way 

Lawrence. MA 01843 

(617) 689-0077 

(800) 343-1 290 

PC Micro Dealers Co-op 

12216 Marc Lane 

Glen Arms. MD 21057 

(301)592-5110 

Jersey Micro Systems 

1200 B Haddonfield Road 

Cherry Hill. NJ 08002 

(609) 665-7611 

Specialists Financial Planning 

160 Washington South East 

Alb. New Mexico. 87108 

(505) 265-8308 

Simco 

2040 Des Cascades. St. Hyacianthe 

Quebec J2S 3J6 

(514) 773-7843 





IiTSKiTiTu 


5T5 



I 



• 



I 



I 





Ijij (jTjTj 


£?•] I h 1 II 



TR *WET 1000 



1 2 3 



Ttanset 1000: The print buffer, communications buffer, 
port expander, printer sharer and I/O switcher. All in one. 






Anyone with a personal computer 
and one or more peripherals has 
faced the all-too-familiar dilemma.'' 
You need your computer to do an 
important job. But you're forced 
to wait for the system to finish one 
job (printing, communicating, what- 
ever) before you can go on to the 
next one. Or you need to stop what 
you're doing to switch cables when 
you want to use another peripheral. 

Wait no more. Now Hayes intro- 
duces an innovative new device that 
lets you perform many jobs— at the 
same time— independent of your 
computer. lYanset 1000. It works 
with a wide range of systems and 
configurations. And it allows you 
to continually 
expand your sys- 
tem as your needs 
grow. 

lYanset 1000 
frees your com- 
puter from waiting 
on your printer or 
modem— so you 
and your com- 
puter can go on 
to another task. 
It even lets you 

print out documents in pre-set for- 
mats without having to go back into 
your computer. At the same time, 
TYanset 1000 can operate unattended 
mailbox communications— 24 hours 
a day— even if your computer 
is turned off. 




'I\vo computers can share one printer with 
Iranset 1000. Or. you can uselYanset 1000 to let 
two computers communicate with each other. 




Even while printing, Transet 1000 acts as a com- 
munications buffer and 24-hour mailbox. And I/O 
switching lets you route information among 
peripherals, without switching cables. 



In addition, TVanset 1000 is a port 
expander and software-controlled 
I/O switcher. Now files can be easily 
directed and redirected to different 
peripherals, without physically 
changing cable connections. 

Transet 1000 
contains a stand- 
alone micropro- 
cessor, and comes 
with 12 8K of mem- 
ory. It operates 
with any RS-232 
interface com- 
puter, and has 
optional accessory 
kits available for 
the IBM* PC and PC 
XT, Macintosh'and 
Apple* lie. Kits contain the necessary 
host cable, a user guide and menu- 
driven software that lets you 
graphically set up or 
customize 



parameters and printing formats. 
Cables available for IBM PC AT other 
computers and peripherals. 

Like all Hayes products.Ttenset 1000 
combines sophisticated capabilities 
with easy operation, just as Hayes 
set the standard in personal com- 
puter communications, now Hayes 
is taking the lead in computer task 
management. 

Contact your authorized Hayes 
dealer to see how TVanset 1000 can 
help you get a lot more productivity 




Transet lOOOallowsprintingon both a dot matrix 
printer and letter quality printer, while freeing your 
computer for other tasks. 



out of your computer system— 
without tying up your computer 
or you. 

Hayes Microcomputer 
Products, Inc., RO Box 
Atlanta, Georgia 30348 
404/441-1617 





WIN ""lltljljlll 11 

J//L JUkJk 

Innovative products for enterprising people 

Inquiry 205 



lansetlOOO 



©1985 Hayes Microcomputer Products, Inc. 



CLUBS & NEWSLETTERS 



• GARDENING ON LINE 
Interviews with gardening 
experts adept at using 
microcomputers to benefit 
their yards are included in 
The Online Gardener, a 
quarterly newsletter that 
covers news, trends, and 
product and software 
reviews relevant to home- 
garden applications. 
Subscriptions are $8 a year. 
Contact The Online Gardener, 
1287 McLendon Ave., 
Atlanta, GA 30307. 

• NEWS FROM RIVER CITY 
The Sanyo MBC-2000/3000 
Forum is designed to pro- 
vide technical support and 
an exchange of information 
without meetings for Sanyo 
MBC 2000 and MBC 3000 
users. Membership includes 

a subscription to the month- 
ly newsletter, access to a 
public-domain software 
library, and nationwide com- 
munication by mail and 
modem. The annual fee is 
$15. Contact William Pletcher, 
Sanyo MBC-2000/3000 Forum. 
River City Datamation, 2653 
Yuma Circle, Sacramento, CA 
95827, (916) 362-1537. 

• TELESAT 
INTERNATIONAL 
Members of lelesat Interna- 
tional benefit from a BBS 
featuring computing reviews, 
databases, and international 
yellow pages. The board is 
operational 24 hours a day 
for an annual fee of $2 5. For 
a free membership kit and 
details, contact Customer 
Service, Telesat International, 
POB 2334, Elizabeth, N] 
07207-2334, (201) 352-2319. 

• A DENVER GEM 

An organization that pro- 
vides geologists with access 
to a BBS with extensive pub- 



lic-domain geological pro- 
grams also produces a 
catalog, monthly newsletter, 
and member directory and 
holds conferences and ex- 
hibits. Further, experts in 
geological-applications soft- 
ware and databases present 
technical papers at the 
monthly meetings of the 
Computer Oriented 
Geological Society (COGS) 
held in Denver, Colorado. 
Contact COGS. POB 1317, 
Denver. CO 80201. 

• ACTIVE ON LINE 

Users of the Commodore 64 
can link into an electronic 
newspaper, search its 
database, exchange 
messages with other users, 
and upload and download 
all on line from Ontario. 
Canada, for a $20 annual 
fee. The Stelex Sector BBS, 
available 24 hours a day at 
(416) 766-3038, also provides 
an on-line typing service, 
bulletins, and products 
available for sale. The BBS 
manual sells for $5. Send an 
SAE to The Stelex Sector 
BBS. POB 6238, Station A, 
Toronto, Ontario M5W 1P6, 
Canada, or call Roman 
Kowalczuk at (416) 769-8226. 

• DISK ANSWERS 
Chicago's First Osborne 
Group (CFOG) gives new 
members a disk that con- 
tains an explanation of 
meetings, copies of public- 
domain programs, a list of 
members who offer help, 
and instructions on how to 
operate the group's 2 4 -hour 



RCP/M, which operates on an 
Osborne 1, a 1200-bps 
Hayes Smartmodem, and a 
Design One 10-megabyte 
hard disk. A $2 initiation fee 
is required. Contact Benjamin 
Cohen. CFOG. POB 1674, 
Chicago, IL 60690. 

• SEE BASIC CLEARLY 
null-Babel/CBNews, a newsletter 
for CBASIC programmers, is 
published monthly by the 
CBASIC Users Group. The 
group also maintains a 
public-domain library. A 
subscription is $18; $28 over- 
seas. Sample and back 
issues are $2. Contact Ric 
Allan, POB 40690, Cincinnati. 
OH 45240-0690. 

• INVESTORS JOURNAL 

The Microcomputer Investor, the 
semiannual journal of the 
Microcomputer Investors 
Association (MCIA), furthers 
the group's intentions to 
facilitate communications for 
investors who use microcom- 
puters. Contact Jack Williams, 
MCIA, 902 Anderson Dr., 
Fredericksburg. VA 22405. 

• INTERACTIVE NEWS 
The Society for Applied 
Learning Technology pro- 
duces a quarterly newsletter 
that contains information on 
scheduled events concerning 
interactive videodiscs and 
microcomputers in educa- 
tion. Annual membership is 
$30. Members are invited to 
subscribe to the journal of 
Educational Technology Systems 
for an additional $31. Con- 
tact the Society for Applied 



CLUBS & NEWSLETTERS is a forum for letting BYTE readers know what 
is happening in the microcomputing community. Emphasis is given to elec- 
tronic bulletin-board services, club-sponsored classes, community-help projects, 
and other activities. We will continue to list new clubs and newsletters. Allow 
at least four months for your club's mention to appear. Send information 
to BYTE. Clubs & Newsletters. POB 372, Hancock. NH 03449. 



Learning Technology, 50 
Culpeper St.. Warrenton, VA 
22186, (703) 347-0055. 

• A DIRECT LINE 

The Long Island NEC Users 
Group (LINECUG) is a non- 
profit organization that 
distributes public-domain 
software to users of the NEC 
PC-8000 and PC-8800. A $5 
annual membership includes 
biannual updates of the 
club's software. Contact Jerry 
Worthing. LINECUG. 75 
Weaving Lane, Wantagh, NY 
11793. (516) 735-2952. 

• PRO FORMA 
Iranscripts of the C-Pro 
Users Group's bulletin-board 
messages at (703) 491-1852 
are published in the newslet- 
ter, as well as public-domain 
programs, hardware and 
software reviews, and tech- 
nical information for Com- 
puPro and other S-100 bus 
systems. Membership is $24 
per year. Contact the 
C-Pro Users Group. POB 
1474, 14057 Jefferson Davis 
Highway, Woodbridge. VA 
22193. (703) 690-3312. 

• SIGCC TAKES ROOT 
The International Council 
for Computers in Education 
(1CCE) seeks local chapters 
for the Special Interest 
Group for Computer Co- 
ordinators (SIGCC), for peo- 
ple with any computer-co- 
ordinator responsibilities. A 
public-message bulletin 
board. The ICCE Forum, is 
available on CompuServe at 
GO EDU18; otherwise ICCE's 
number on CompuServe is 
70014,2117. ICCE houses 
SIGs for special educators, 
administrators, and teachers 
and publishes The Computing 
journal and a quarterly 

{continued) 



58 BYTE • IUNE 1985 




You can still buy 

quality and dependability 

at a reasonable price 



v/Asvn 

The CompuPro People 

Where Computers Grow 



Without the bugs. 
And without the 



worry. 



Our drive for more 
power, reliability and 
economy. 

Since 1973, the CompuPro 
people have been dedicated to 
bringing highly innovative com- 
puter technology to all users. 
Their success has been due to 
making state-of-the-art available 
at outstanding values, combining 
high quality and reliability with 
the best possible prices.This mar- 
ket philosophy is based on the 
same principles that made the 
Volkswagen a symbol of d 
reliability and economy 
all over the world. 

Today, VIASYN 
continues this tradi- 
tion with its diverse 
and dependable 
CompuPro^ product 
line. It covers the 
needs of 

experts, a 

beginners, OEMs, Built to fit. 
VARs, software developers and 
sophisticated end-users. It goes 
from boards and subsystems to 
VIASYN'S powerful CompuPro 
816 computer family that extends 
to advanced multi-user, multipro- 
cessor business 
computers. This 
versatile product 
line is 





designed for growth and 
compatibility with the most 
popular 
and suc- 



cessful computer sys 
terns in the industry. 
This is why your 
purchase is a true 

investment ■ — - 



you can build on for Built 

years to come. It gives you more 
computer power— without the 
bugs and the worry about defects 
or early obsolescence. 

The evidence of 
quality Our warranty 
service and support. 



also informs and edu- 
cates its customers on all 
levels. In keeping with 
our drive to bring 
advanced computing 
power to the people, 
we offer a helpful 
booklet entitled 
"Bits, Bytes & 
to last. Buzzwords" that 
explains computer technology in 
simple, easy-to-understand 
terms. It's available at any of our 
Full Service System Centers. 

800-VIASYN-l.Your 
direct line to 
unmatched values. 




Built to grow. 



VIASYN offers all customers 
an exceptional one -year warranty. 
Since all systems are tested for 
two years of reliability, this war- 
ranty can be extended to cover 
two full years. Other warranties 
are available at an extra, nominal 
charge. It's solid evidence for the 
built-in quality of our products. 

Our customers are also 
assured of full technical support. 
The growing, national and inter- 
national network of CompuPro 
Full Service System Centers is 
staffed by expert sales and service 
personnel who can help with sys- 
tem and software customization. 
They are prepared to offer techni- 
cal assistance, expert advice and 
field maintenance contracts to 

make certain you get the 

most out of our products. 

True to its commitment to 
all computer users, VIASYN 



This toll-free number con- 
nects you with your nearest 
Full Service CompuPro System 
Center (in California, dial 800/ 
VIASYN-2). It can supply all of 
the products highlighted in the 
following pages — and more. If 
you are looking for a product 
designed for your particular 
application, you'll find it at your 
local CompuPro center. Their 
staffs are trained to provide 
quality solutions to 
your problems, 
now and in 
the long run. 
At values that 
are truly 
exceptional 
in our com- 
petitive 
marketplace. I 

ifiBflflMfe I 

Built to save. 




Computers 

designed to 
grow, and grow, 




The CompuPro 816 
(Al through Zl). 

A whole family that offers 
you exactly what you want in a 
computer. Dependable perfor- 
mance. Flexibility to grow. 
Increased productivity over a 
wide range of applications. You 
can expand from single to 
multi-user systems by simply 
adding more boards and periph- 
erals. Use just as much power 
as you need— for over 3,000 
industry standard business appli- 
cations, as well as a wide variety 
of scientific and industrial pro- 
grams. And this multi-user com- 
puter system lets you link as 
many as 255 systems for net- 
works of more than 1000 users. 

Our systems offer you many 
standard features that give you 
more functionality and value 
from the start. Operating system 
and selected applications pro- 



grams are part of each system. 
All systems adhere to the 
IEEE 696/S-100 bus standard 
and may be easily expanded 
or upgraded with S-100 boards 
available from VIASYN. And 
each system is equipped with 
an 800 Kbyte double-sided, 
double-density 5%" floppy disk 
drive. 

In addition, we give you 
a wide choice of options that 
increase your system's power 
and versatility. You can add 5%" 
or 8" floppy disk drives. Put 
on 40-Mbyte or 80-Mbyte hard 
disks, and get a 10-Mbyte tape 
backup. Instead of selecting our 
standard desktop models, you 
can choose our 19" rack mount 
option. 

No matter which system or 
what options you choose, you 
can count on getting optimum 
performance for your money. 

CompuPro 816/Ai: M Ideal 
start-up system. Based on 
8085/8088 CPU. Includes 128K 
RAM and our CP/M® 8-16™ 
operating system. $3995. 



CompuPro 816/C1™ 

Advanced 8085/8088 multi-user 
system. Equipped with 512 
Kbytes of RAM. Bundled with 
Concurrent DOS™ 8-16™ $6895. 

CompuPro 816/D1™ Based 
on 8086 processor, featuring 
512K RAM and Concurrent DOS 
8-16. The logical, economical 
way to grow. $6995. 

CompuPro 816/Ei: M 

Powered by Motorola's 10-MHz 
68000 chip, this 16-bit engine 
gives you 512 Kbytes of RAM, 
plus CP/M-68K™ for high-level 
languages, like mapForth and C. 
$6495. 

CompuPro 816/F1I M A 

16-bit computer that uses Intel's 
80286 processor. Features 512K 
of RAM and operates with 
Concurrent DOS 8-16. $7995. 

CompuPro 816/G1™ 

Outfitted with National Semicon- 
ductor's 16/32-bit 32016 micro- 
processor. This system offers you 
512 Kbytes of RAM and is 
designed to run FORTH and 
UNIX™ Fast, dependable, 
efficient. $6895. 

CompuPro 816/Zi: M Uses 

Zilog's proven 8-MHz Z-80 
processor and operates with 
CP/M 2.2. Offers 64 Kbytes 
of static memory. It's the 
ideal personal tool. $3495. 



and grow, and grow, 



The CompuPro 816 
(Fully Integrated 
Systems). 



'■""■■ » 



The CompuPro 286. This 
multi-user, multi-tasking com- 
puter is one of the most powerful 
business systems available in a 
desktop. Features Intel's 80286 
processor for 16-bit operations, 
while CompuPro's Slave Pro- 
cessor Unit runs all 8-bit tasks 
via a speedy Z-80. The basic 
system is configured for 4 users 
but its expanded version can 
support eight users or more. Uti- 
lizes Concurrent DOS 8-16 
and a wide range of sophisticated 
business programs. $9995. 




CompuPro 10 Plus 2. 

Equipped with 2 800 Kbyte flop- 
pies, 2 Z80 slave processors, 
each containing 64K RAM. Fea- 
tures the 8088 processor with 
256K RAM. Options let you 
increase RAM in 256K incre- 
ments to a maximum of 
768K. You can add a second 
set of 2 slave processors, 
our MDRIVE®/H and our Net 
10 board that facilitates network 
connections. $3995. 



CompuPro 10 Plus 40. In 

addition to an 800 Kbyte floppy, 
this system includes a 40 Mbyte 
hard disk and increases the 
number of Z80 slaves to four, at 
64K RAM per board. The 10 
Plus 40 also operates with 256K 
RAM for the 8088 processor and 
features the same options as the 
basic 10 Plus 2 system above, 
but adds a tape backup to the 
list. $6995. 

CompuPro 816 makes 
networking easy 

This multi-user, multi- 
processor option lets you share 
data and peripherals via the 
nodal cluster concept. Each node 
consists of one CompuPro 816 
and its tied-in workstations. Con- 
necting nodes is as easy as 
installing one of our Net 100 or 
Net 10 boards in each computer, 
and running standard RG 62 
cables between them. Network 
hubs allow you to connect three 
or more computers. In this way, 
the CompuPro 816 network can 
support 255 nodes and cover 
distances to four miles. You work 
with speedy 2.5 megabit/second 
transfer rates and get individual, 
transparent on/off node opera- 
tion. Thus, nodes can run with- 
out involving the entire network 
and do not affect overall net- 
work performance. 



Operating Systems for 
the CompuPro 816 
Family 

CP/M 2.2. An 8-bit high- 
performance, single-user oper- 
ating system. Works with all 
CompuPro systems based on 
Inters 8085 or Zilog's Z-80 
CPUs. Uses the entire family 
of CP/M application software. 
Requires minimal hardware 
configurations. 

CP/M 8-16. Single-user 
8-bit and 16-bit operating system 
based on Digital Research's 
CP/M-86™ Downward compatible 
with most CP/M 2.2 software. 
Supports a variety of application 
software and languages as well 
as many more productivity tools. 

CP/M-68K. 16-bit operat- 
ing system supports Motorola's 
68000 CPU Similar to our CP/M 
2.2 because it allows easy infor- 
mation transfer and convenient 
file manipulation. Lets you utilize 
all peripherals in your com- 
puter system. 

Concurrent DOS 8-16. A 

high-performance, true multi- 
user, multi-tasking operating 
system for the CompuPro 816 
series. Can be configured in 
either single- or multi-tasking 
mode for simultaneous 8- and 
16-bit operation. This operating 
system supports DR/NET™ 
allowing peripheral sharing 
among work stations and facili- 
tating full local processing when 
used with the CompuPro Net 
100 network board. Supports 
Digital Research's GSX graphics 



and grow, and grow, 



software and includes modem 
software. Features single-stroke, 
virtual screen switching 
(terminal-dependent). It can sup- 
port more than eight users and 
a number of printers in a multi- 
user mode. 

More power and 
flexibility across 
the board. 

Our versatile CPU and 
memory boards are fully IEEE 
696/S-100 bus compatible. You'll 
be able to mix or match 8-bit 
and 16-bit software on the same 
machine and choose just the 
power and memory your system 
needs. 

CPU-ZT M 8-bit board with all 
standard Z80 features. Can be 
run at slower clock speeds when 
necessary generating MWRITE 
for such operations. Includes 
plug that takes the connector 
from IMSAI type front panel. 
Equipped with 8 MHz Z80. $275. 

CPU 8085/88™ Includes 
two processors: the 10 MHz 
8088, which is an 8-bit bus ver- 
sion of the 8086 16-bit CPU, and 
the 6 MHz 8085, an advanced 
8-bit processor to run existing 
8-bit software. Can be run at 
2 MHz to accommodate timing- 
dependent software. $350. 

CPU 86™Operates with 
Intel's high-performance 10 MHz 
8086 processor. Includes socket 
for 8087 math processor. Compat- 
ible with 8-bit and 16-bit mem- 
ory. $395. 



CPU 68KT M Based on 
Motorola's 68000 10 MHz pro- 
cessor. Socket for 68451 
Memory Management Unit and 
sockets for up to 16 Kbytes of 
EPROM (8K x 16 bit organiza- 
tion). $425. 

CPU 32016™ This true 
32-bit 6 MHz processor brings 
mainframe power to desktop 
micros. Includes sockets for 
on-board memory management 
and floating point units, plus 
up to 32 Kbytes of ROM. $895. 



A lot of memory for 
a lot less. 




CPU 286™ Intel's iAPX™ 
80286 16-bit processor shifts into 
high gear for you. C-Step 6 MHz 
version that offers sockets for 
16 Kbytes of on-board EPROM 
and for 80287 math processor. 
Compatible with both 8- and 
16-bit memory, mixing both in 
the same system. Includes our 
unique clock switching circuit for 
bus sharing by special slave 
processor boards. This feature 
lets you run alternate 8- and 
16-bit software libraries with 
ease. $995. 




Ram22™256Kx8bitor 
128K x 16 bit organizations of 
low power static RAM. High- 
speed, high-density board auto- 
matically works with 8- or 
16-bit processors. Smooth han- 
dling of fully static operations 
(e.g. DMA transfers). Draws half 
the power of dynamic equiva- 
lents. Operates with all our 
CPUs. $1250. 

Ram 23™ Same features as 
RAM 22 above in 128K x 8-bit 
or 64K x 16-bit configuration. 
$395. 




MDRIVE/H. Can increase 
operating speeds to 3500%! 
Greatly enhances disk-intensive 
performance. Emulates disk 
drive operation but runs at RAM 
speed. All of CompuPro's 
operating systems — including 
CP/M 8-16 and Concurrent 
DOS 8-16 — support our 
MDRIVE/H. 512K $695. 1 
Mbyte $1350 (10 Plus). 2 Mbyte 
$2450. 4 Mbyte $4500 (10 Plus). 



and grotty and grow, 



Our disk controller 
boards drive for 
efficiency. 

Disk lA T . M This floppy disk 
controller is geared for 8" and 
5%" drives. Reads and writes 
most popular formats. Uses the 
most advanced LSI floppy con- 
troller available. $495. 

Disk 2™/Selector 
Channel™Our high-performance 
disk controller for sophisticated 
8" Winchester drives, $695. 




Disk 3 ™ Winchester con- 
troller for up to four 5%" hard- 
disk drives. Unprecedented high 
performance for multi-tasking 
systems. The disk's channel pro- 
cessor seeks, reads and writes 
without external prompting. The 
host can transfer large data 
blocks between disk and memory 
on single command, designating 
source, destination and length. 
Disk sectors are transferred in 
high-speed "burst mode" DMA. 
ST 506 interface standard; 
SA 1100 available on special 
order. $595. 



More options for the 
growing CompuPro 
816 network. 






CompuPro Net 100 Board. 

Meets all IEEE 696/S-100 
requirements, featuring eight 
switch-selectable I/O ports, on 
any 8-port boundary in the 
64K I/O space. Supports 8-bit 
or 16-bit addressing. Also sup- 
ports the ARCnet® token passing 
local area network protocol 
under Digital Research's DR/ 
NET. Mainframe communication 
option available. $395. 

CompuPro Net 10. Has 

all the features of our Net 100 
board but is used in CompuPro 
10 Plus only. Mainframe com- 
munication option available 
as well. $395. 

Net Passive Hub. Connects 
up to four CompuPro 816 Com- 
puters. $65. 



Net Hybrid Hub. Connects 
up to eight CompuPro 816 
Computers. $295. 

Interface Boards. 
Smoother ways to 
make peripherals talk. 

Interfaced™ This eight- 
channel serial I/O board conforms 
to all IEEE 696/S-100 specs. 
Ideal for multi-user, interrupt- 
driven environments. Includes 
six asynchronous DCE inter- 
faces with full RS-232C hand- 
shaking. Two synchronous/ 
asynchronous DTE/DCE high- 
speed channels provide RS-232C 
handshaking and bi-directional 
clock drivers. CRTs, printers, 
modems and other computers are 
easily connected. Also provides 
an exceptional interrupt structure. 
$495. 




Interfaced™ Advanced 
serial/parallel I/O board — the 
only one needed for most com- 
puter systems. Features asyn- 
chronous serial interface with full 
RS-232 handshaking and current 



and even multiply. 



loop capability. Two synchronous/ 
asynchronous high-speed 
channels, plus RS-232 hand- 
shaking and bi-directional 
clock drivers. Smooth peripheral 
connections and Centronics 
parallel interface for fast printer 
signal transmission. Unique, 
easy interrupt structure, fully 
maskable and designed for 
flexible strapping. $350. 

A strong showing for 
better displays. 




PC Video Board. Our high- 
speed PC Video board is a bit- 
mapped monochrome and RGB 
graphics show. It operates 
with the IBM®PC compatibility 
module and with Digital 
Research's GSX (Graphics Sys- 
tem Extension) software, both 
supported by Concurrent DOS 
8-16. Features 80 (normal) or 
40 (double-width) columns by 
25 lines in alphanumeric screen, 
in your choice of 16 colors or 
monochrome display mode. High- 
resolution: Up to 200 x 640 
pixels (monochrome). Comes 
with Window Manager software. 
Supports "well-behaved" IBM 



PC compatible software pro- 
grams, plus DR Graph™ and DR 
Draw™ graphics packages from 
Digital Research, Inc. This board 
is the one to watch. $495. 

System support on a 
single board. 

System Support 1™ A 

multiple-function S-100 board 
with 4K bytes of on-board RAM, 
dual interrupt controllers, 16-bit 
internal timers, a math processor, 
real time clock/calendar with 
battery backup and full RS-232 
serial channel featuring software - 
selectable baud rate. ROM/ 
RAM can be enabled/disabled 
by PHANTOM control and 
respond to the IEEE 24-bit (16 
megabytes) extended address 
protocol. A board of many talents 
made for demanding systems. 
$350. 

A great choice in 
motherboards. 

Pick 6, 12 or 21 slot ver- 
sions. All are exceptionally quiet, 
fast and dependable. They offer 
active termination, full Faraday 
shielding of all signal traces, 
plus heavy power busses— with 



great bypassing capability. 
Mating power connections are 
provided. $135 (6 slot); $195 
(12 slot); $295 (21 slot). 

Enclosures for hard 
working systems. 

VIASYN offers you Compu- 
Pro Desktop or Rack Mount 
(19") Enclosures. Constant volt- 
age transformers provide cooler 
and more reliable operation with 
solid protection against varying 
line voltages. Rugged, metal 
construction. Line filter reduces 
effects of power line spikes 
and RFI. Fully terminated 21-slot 
motherboard and Faraday shield- 
ing, ideal for high-speed sys- 
tems to 10 MHz. Enclosures 
include low-noise fan, air filter, 
3 switched rear outlets, circuit 
breaker, lighted reset button and 
rear punchouts for DB-25, 
DB-15 and DB-50 connectors. 
Desktop $950. 19" Rack Mount 
$995. 

Just what your system 
needs now. 

The components, operating 
systems and the building blocks 
that can make computer systems 
grow stronger and more capable. 
All you have to do is contact your 
nearest Full Service CompuPro 
System Center and get the qual- 
ity, dependability and cost 
economy you're looking for. 
Call toll-free: 800-VIASYN-L 



Registered Trademarks: CP/M, Digital Research Inc.; ARCnet, Datapoint Corporation; IBM, International Business Machines Corp.; 

MDRIVE and CompuPro, Viasyn Corporation; Compound Trademarks; CP/M 8-16 and Concurrent DOS 8-16, Digital Research and 

Viasyn Corporation. Trademarks: CP/M-68K, CP/M-86, DR/NET, DR Graph, and DR Draw, Digital Research; 

iAPX, Intel Corporation; UNIX, Bell Laboratories, Inc. 

All prices and information subject to change without notice. Copyright © 1985 by Viasyn Corporation. Printed in the U.S.A. 



Viasvn 




s 



fiasy 
uppfi 



ra 



room and ooard 
to OEMs. 

As much room and board as you need for 
your system. CompuPro® IEEE 696/S-100 Bus 
boards that let your systems grow and multiply. 
Reliable boards, delivered at prices our com- 
petition finds hard to beat. 

As an experienced OEM supplier, we give 
you the choice and versatility you're looking for. 
For example, one of our CompuPro CPU boards 
is designed for concurrent 8- and 16 -bit oper- 
ation — mix or match. And you can choose from a 
wide variety of support boards, such as memory 
boards, interface boards, motherboards, con- 
troller boards— you name it. 

In addition, you can count on reliable product 
performance. Evidence: our exclusive one year 
warranty with an option to extend it to two years 
on most products. Plus, the support of our nation- 
wide network of expert service representatives. 

So if you're looking for a dependable place 

that gives you plenty of room and board, just take 

a look at the preceding pages. % j#a ^^ JT\ M 

Then call us toll- free for the \^y3^Syl 

best rates in town. ' %., T^"T, „ 

The CompuPro People 

Where Computers Grow 

3506 Breakwater Court, Hay ward, CA 94545 
Call 800/VIASYN-l ■ In CA, 800/VIASYN-2 • Telex: 510-100-3288 VIASYN CORP 

CompuPro is a registered trademark of Viasyn Corporation. 




Draw "Your Own Destiny 

If You Can Dream It, Do It With PC -Draw. 



Go on. Think big. For the world beats a path to the door 
of those who make things happen. Now, graphically 
depict your bold new concepts. From ingenious ideas and 
designs — to master plans and proposals. Communicate 
with absolute clarity. And create truly persuasive 
presentations and reports. 

What fuels the power of your mind? 
PC-Draw®. An incredibly versatile, interac- 
tive graphics program for the IBM PC®, 
XT®, AT® or enhanced PCjr® — unlike 
anything else on the market. Using your 
personal computer and a plotter or printer you 
conceive, develop, then produce a hard copy 
picture of your thoughts. An optional light pen 
makes PC-Draw even easier to use. 

PC-Draw offers much more than mere painting systems. 
With it, create in far greater detail an endless variety of 
presentation graphics, proposals, systems design, charts, 




forms, diagrams and illustrations. Produce drawings up to 
99 pages long. Use PC-Draw symbol libraries for appli- 
cations such as flowcharting, organization charts, forms 
design, office layout and electrical design. And more. 
Or generate and store your own unlimited supply of 
user defined symbols. 

TVy PC-Draw for a 10 Day TVial Period. 

PC-Draw includes an easy to follow interactive 
tutorial. Requires IBM compatible computer, graphics 
adapter and graphics monitor (or IBM monochrome 
monitor with Paradise® modular graphics card). 
Graphic boards, light pens at excellent prices. 

Go ahead. Control your destiny. Dial 800/2PC-DRAW 
to order or for free brochure. In Texas or for customer 
support call 214/234-1769. MICROGRAFX, Inc., 1701 
N. Greenville Ave., Suite 305, Richardson, Texas 75081. 



MICROGRAFX 



The Picture of Success. 

Inquiry 281 



(Most popular plotters & printers supported. 
Version for PCjr available) 

PC-Draw and MICROGRAFX arc trademarks o f MICROGRAFX, Inc. 
IBM, PC, XT, AT and PCjr are trademarks of International Business Machines Corp. Paradise is a trademark of Paradise Systems. Inc. 



Inquiry 357 



DISK DRIV6 SUBSVST6MS 

PC-INSID€R S€RI€S FOR IBM 
10 TO 1 16 Mb FORMRTT€D ui/ CONTROLLCR 

AND fill N€C€SSfiRV CRBLCS, HARDWARC 
& POUJCR SUPPIV WH€R€ N€€D€D. FROM$595 

PC-OUTSID€R S€RI€S FOR IBM 
33 TO 1 16 Mb FORMRTTCD DRIVCS MOUNTCD 

IN PC-STVL€ CABINET FROM $1 ,595 

PC-OUTSID€R 60Mb STRCRMING 
TRP6 OPTION FOR IBM $1,525 

QmEi£™/V/ASyn" 27-1 20Mb 5 1/4" 
eCTCRNRl SURSVST€MS FROM $1,525 

IMPROV€ DISK I/O BV 10 TIM€S 

OVCR TH€ FfiSTCST 5 1/4" DRIV€S UJITH TH€ 

50Mb RMCODVN€ SURSVST€M OR 

INT€GRRT€D MRST€R S€RV€R 

nvnimme FOR COMPUPRO CONCURR€NT 

DOS 8-16 & CP/M 8-16JURBODOS, 

FIND MSDOS UJITH FAST BACK-UP, UITIMRT€ DATA 

SCCURITV/RRCHIVRL FIND fi V€RV €FFICI€NT 

NCTUJORKING SOLUTION FROM $4,795 

SFs=TSfSSfS (800) SEE PAGE 485 
m* = mmSmS,. 528-3138 FOR OTHER MDSE 



DISK 
COPYING 



Whether you need 50 disks or thousands, we have years 
of experience in creating the highest quality copies. Reasonable 
prices — fast turnaround. Call today for our free booklet on 
software duplication and packaging. 

BLANK 



DISKS 



Can you tell a good disk from a great one? We can, because 
we copy thousands each day. We'll tell you which brand is 
best for your system. Call today — and get great prices, too! 



Call ALF first 

1-800-321-4668 

in Colorado (303) 234-0871 

AJ^F ALF Pr()ducts • Denver . c ° 



CLUBS & NEWSLETTERS 



called The SIG Bulletin. 
SIG membership ranges 
from $10 to $17 annually, 
depending on ICCE 
membership and location. 
Contact the International 
Council for Computers in 
Education, University of 
Oregon. 1787 Agate St.. 
Eugene. OR 97403, (503) 
686-4414. 

• REFER TO SNUG 

The bulletin boards of the 
Sanyo National Users Group 
(SNUG) at (509) 884-0613 
and 33 5-1652 in Wanatchee 
and Pullman, Washington, 
provide technical assistance 
for users of the Sanyo MBC. 
In addition, a public-domain 
library is maintained, a 
monthly newsletter is 
produced, and group- 
purchase discounts are 
organized. The annual fee is 
$15. Contact Michael 
Russell. SNUG, POB 2084CS, 
Pullman. WA 99163. 

• BCS KAYPRO 

The Boston Kaypro Users 
Group (BOSKUG). affiliated 
with the Boston Computer 
Society (BCS). runs an 
RCP/M and publishes a bi- 
monthly newsletter called 
The Boston Kugel. Meetings 
are held semimonthly every 
second and fourth Tliesday. 
Joining the BCS entitles you 
to membership both in 
BOSKUG and the BCS and 
to receive their respective 
publications. For member- 
ship information, contact 
BCS, 1 Center Plaza. Boston. 
MA 02108. (617) 367-8080. 
For a subscription to The 
Boston Kugel beyond a 
75-mile radius of Boston, 
send $10 to BOSKUG. 27 
Howland Rd.. West Newton, 
MA 02165. or call Lee 
Lockwood at (617) 965-6343. 

• WHAT'S NEXT? 

Due to an alleged lack of 
company-sponsored user 
support, the managing staff 
of NefiHorld, The Independent 
NEC APC News ]ournal, in- 
vites interested users to 



discuss a right to company 
support. Write to Count Me 
In. Nefflbrld. 388 Old Turn- 
pike Rd., Woodstock. CT 
06281. (203) 974-3505. 

• V FOR VENTURA 

The Ventura County Macin- 
tosh Club (VMAC) holds 
monthly meetings, produces 
a monthly newsletter, and 
maintains a software library. 
Membership is $15 annually. 
Contact Ventura County 
Macintosh Club. 1 4 1 3-D 
South Victoria Ave.. Ventura. 
CA 93003, (805) 644-5220 
or 985-3400. 

• OPEN EXCHANGE 
The East Carolina CP/M- 
MS/DOS Group welcomes an 
exchange of newsletters, 
public-domain software, and 
other information relevant to 
the CP/M and MS-DOS oper- 
ating systems. The club pro- 
duces a newsletter that is 
published every other 
month, and a bulletin board 
is in the works. The annual 
dues are $10. Contact East 
Carolina CP/M-MS/DOS 
Group, 707 Edge Hill Rd., 
New Bern, NC 28560. 

• DEVELOPERS UNITE 

The Software Developers 
Association is a nonprofit 
association of computer 
software developers in 
Canada. A single monthly 
newsletter is $5; an 
annual subscription is $50. 
Contact Bob Bruce. Soft- 
ware Developers Associa- 
tion. Suite 500, 185 Bloor 
St. E. Toronto. Ontario 
M4W3J3, Canada. (416) 
922-1153. 

• SANYO BLOOMS IN 
INDIANA— Members of the 
Bloomington Area Sanyo 
Users Group wish to ex- 
change information with 
Sanyo-specific and other 
MS-DOS computer groups. 
Contact Rober Cole. Bloom- 
ington Area Sanyo Users 
Group. 430 South Dunn 
#205, Bloomington. IN 
47401, (812) 336-7272. ■ 



60 B YTE ■ JUNE 1985 



Inquiry 18 



Sweet-P Model (SP600) 

A six-pen graphics plotter that's more 
compatible . . . uses more software. 



Last year 430 million business 
slides were made at a cost of 
$3.2 billion. Most of these slides 
were manually generated.* 
These slides could have been 
made on Sweet-P® Personal 
Plotters™ . Faster and better. 
With a savings of millions of $! 

The Sweet-P SP600 is a high 
quality American made precision 
machine. It's fast. It plots 14 inches 
per second. It's beautiful for office 
and technical work. 

Over 100 graphics software 
packages drive the Sweet-P™ 
world famous packages like Lotus 
1-2-3™ Framework™ and Super- 
Calc™ technical software like 
AutoCAD™ PC AD Robographics™ 
and dedicated business graphics 
software such as Micro-soft Chart, 
ChartStar™ Energraphics*" Chart- 
master™ and pfs Graph™ 

Pens are capped automatically 
when not in use, so that pens last 
longer and start quicker. 



The Sweet-P easily connects to 
almost any computer. It has RS-232 
serial and Centronics™ parallel 
connectors. And it supports two 
standard graphics languages— 
Sweet-P Graphics Language 
(SPGL™) and Hewlett-Packard 
Graphics Language (HPGL™). 

The Sweet-P plots on almost any 
media. Make brilliant overhead' 
transparencies. Plot on film, and on 
plain and coated papers. 

Save on wiring costs too. The 
Sweet-P will "eavesdrop" on the 
RS-232 cablesthat connect your 
terminals now. (This makes it easy 
for Sweet-P to join local and long 
distance networks.) 

What about support? Sweet-P 
customers get fast professional 
help with software, hardware and 
interface questions. And warranty 
and service support is quick. 

Sweet-P Model 600 also comes 
with 18 ANSI ASCII internal Char- 
ter sets. 



only $1,095 




U.S. DISTRIBUTORS 

Arizona 

First Source Distributing 
(602) 263-1950 

California 

Zenith Data Systems • (415) 621-8545 

Colorado 

Ares Distributing • (303) 752-2972 

Florida 

Cam Bultman • (904) 356-4812 

Illinois 

PC Distributing • (312) 356-4812 
Zenith Data Systems • (312) 562-7300 

Inland Computer • (913) 492-9100 

Maryland 

Federal Data • (301) 986-0800 

Missouri 

Computime, Inc. • (314) 991-2991 

North Carolina 

Allison-Erwm • (704) 334-8621 

N©w T©rs©v 

Data Research • (201) 569-2620 
Buhl Industries • (201) 423-2800 

Pennsylvania 

Peif ce Phelps, Inc. • (215) 879-7068 
Pryor Corp • (800) 245-0209 
Chessell Robocom • (215) 968-4422 

Tennessee 

Multi Computer Products 
(615) 528-7777 

Texas 

AMCAD, Inc. • (214) 323-0700 
National Marketing Inc. 
(214) 386-8151 

Washington 

Comquest Systems • (206) 641-7650 



Canada 

Altel Data • (403) 259-7814 
Interworld Electronics Inc 
(604) 984-4171 
The Pringle Group 
(416) 449-5640 



<^A 



Enter Computer Inc. 
6867 Nancy Ridge Dr. 
San Diego, C A 92121 

619-450-0601 • 800-227-4371 CA 
800-227-4375 • TELEX-181740 



Trademarks: Sweet-P. Six Shooter. Personal Plotter, 
SPGL. Enter Computer, Inc.; HPGL, Hewlett-Packard; 
Lotus, Lotus Development Corp; Framework, Ashton- 
Tate; Super- Calc, Sorcim, Inc.; AutoCAD, Autodesk, 
PCAD Robographics, Chessell-Robocom, Inc.; Chart 
Star, Micro-Pro Int'l Corp.; Energraphics, Enertronics 
Research, Inc.; pfs Graph, Software publishing 
Corp.; Chart-Master, Decision Resources; Cen- 
tronics, Centronics Corp. 

Source notes * Yankee Group. The Technical Office. Vol.III 1983 
"Wharton School Study. September 198] 

Inquiry 170 for End-Users. 
Inquiry 171 for DEALERS ONLY. 




For everyone who ever tried 
doing five things at once 



The perfect computer program 
for someone as busy as you. 
It lets you keep several other 
programs working at once. 

Do you ever go in so many directions 
so fast not even a computer can keep up 
with you? 

Well, now an IBM Personal Comput- 
er can— thanks to IBM TopView. 



TopView is a new kind of software 
that lets you switch between other pro- 
grams as quickly as you can change your 
mind, even run several programs at the 
same time. 

Once you load TopView into your 
computer, you load the other programs 
you use most— as many as your com- 
puter's memory will permit. 

After that, the greatest distance 
between two programs is just a couple of 



keystrokes, or (optional) mouse moves. 

There's no waiting and a lot less 
diskette swapping. 

But when youre really busy is when 
TopView really shines, letting you do 
many jobs simultaneously. 

For example, you can print a letter, 
while you search a file, while you analyze 
a spreadsheet, while your clock/calen- 
dar reminds you that your automatic 
dialer is about to place a call for >fou. 



Little Tramp character licensed by Bubbles Inc., s.a. 



62 BYTE • JUNE 1985 




...IBM presents TopView. 



And you can see everything through 
on-screen "windows* and control it all 
with easy-to-use pop-up menus. 

You can even make unrelated pro- 
grams work together; say a "Brand Y" 
spreadsheet with a "Brand Z" word pro- 
cessor. 

But simplest of all is a certain 
'Brand IBM", namely the IBM Assistant 
Series— for filing, writing, planning, 
reporting and graphing. 



Many other popular programs also 
work with TopView., and the number is 
growing. 

Naturally, the more computer 
memory you have, the more TopView can 
help you. At least 512 K is recommended. 

And the price is only $149* 

Beyond that, all you need is to be the 
kind of pei*son who never does a single 
thing all day, but who wants to do every- 
thing, at once. 



To learn more, call an IBM market- 
ing representative, or visit an IBM Prod- 
uct Center or Authorized IBM PC or 
Sof tware Dealer. 

For the store nearest you, and a free 
brochure, call 800-447-4700. (In Alaska 
and Hawaii, 800-447-0890.) 



Personal Computer Software 



IBM Product Center price. 
Inquiry 218 



JUNE 1985 -BYTE 63 




Innovative Backup and Hard Disk Drive Systems 
For Your IBM PC, XT and AT 



Backup Option 






Retrieve Option 


Selective 

File-By-File 


-* 




File-By-File 
Retrieval 








The Standard of Excellence in Backup Software 

• Revolutionary Everex Backup systems give you 
the backup/retrieve flexibility you want while 
saving you hours of time. You can backup your 
hard disk drive in minutes with a fast "mirror 
image" then retrieve this information either file- 
by-file or the entire hard disk image. 

• High speed backup/retrieve- up to 5MB 
per minute. 

• Menu Driven software includes the largest 
selection of file selectable options-choose 
from name, date, time interval, global, qualifier 
and more. 

• Advanced installation program automatically 
configures the optimal backup/retrieve speed 
with your hard disk drive. 

The Leader in External Expansion Systems 

• All external systems are available with any com- 
bination of Everex Backup and Hard Disk 
Drive systems. 

• Slimline systems include one short and three 
long expansion slots for adding more acces- 
sory boards. 

• Half-Size system includes four long expan- 
sion slots. 



• Full-Size system (looks like your PC) includes 
eight long expansion slots. 

• External systems include one high quality, 
round shielded cable. 

The Total Solution For Backup That Plugs Right 
Into Your Computer 

• A wide selection of backup solutions with the 
price and performance to meet your needs: 

• The EXCEL 4500, 45 and 60 MB high per- 
formance 1 A -inch Streaming Tape systems, 
the EXCEL 200, 20 MB Cassette system 
and the EXCEL 10 MB Floppy Tape system. 

• Space-saving half height units with single 
board controller. 

• Combine with Everex hard disk drives for 
lower cost and higher performance. 

• Unique "piggyback" power supplies ensure 
dependable operation and save space. 

Visit your local Everex dealer today and ask 
to see Everex products in action. For the name 
of your nearest Everex dealer, please call 
(415)498-1111. 

Imagineering Ultimo, Australia TLX: 74349 IMAGIN AA 

Microage Distribution Ltd. London, England TLX: 881 3241 WONGS G 

Feeder Paris, France TLX: 4413241 FEEDER 

Automated Office Systems Hout Bay, South Africa 2721 -70-8091 

Survex. 1027 Speers Road. Oakville, Ontario Canada L6L-2X5. 416-842-6093 

Pride Computers, 1.02-8167 Main Street, Vancouver, 

British Columbia, V5X3L2, 604-321-5690 

IBM, PC, XT and AT are registered trademarks of International Business 

Machines Corporation. 

EXCEL is a trademark of Everex Systems Inc. 



EVER for Excellence 
Address: 47777 Warm Springs Blvd.. Fremont, CA 94539 (415) 498-1111. 



Dealer Hotline (800) 821-0806 * In CA (800) 821-0807 



64 BYTE • JUNE I985 



Inquiry 1 73 



BOOK REVIEWS 



PROGRAMMER 
PRODUCTIVITY: 
ACHIEVING AN URGENT 
PRIORITY 
Girish Parikh 
Reston Publishing 
Reston, VA: 1984 
236 pages, $31.50 

APPLYING SOFTWARE 

ENGINEERING 

PRINCIPLES 

David Marca 

Little, Brown 

Boston, MA: 1984 

288 pages, $29.95 

CP/M-86 USER'S GUIDE 
Jonathan Sachs 
Osborne/McGraw-Hill 
Berkeley, CA: 1985 
568 pages, $18.95 




PROGRAMMER 
PRODUCTIVITY: 
ACHIEVING AN URGENT 
PRIORITY 



Reviewed by Michael Martinez and E. Francis Avila 



In the world of data processing, systems managers will 
tell you software development and maintenance are the 
most expensive costs incurred in running a large system. 
While computer-hardware costs have dropped, software- 
development costs have risen. The issue, then, is finding 
useful, reliable methods of increasing programmer 
efficiency, crucial to stemming the climbing costs of 
developing and maintaining software. 

In Programmer Productivity: Achieving an Urgent Priority, Girish 
Parikh, an experienced data-processing programmer and 
manager, tackles this difficult but vital task head-on. He 
offers practical solutions that promise to increase 
productivity while reducing maintenance costs. 



COMPUTER ANIMATION 

PRIMER 

David Fox 

and Mitchell Waite 

McGraw-Hill 

New York: 1984 

522 pages, $22.95 

THE COMPLETE 
HOME EDUCATOR: 
A COMPREHENSIVE 
GUIDE TO MODERN 
HOME-TEACHING 
Mario Pagnoni 
Larson Publications 
Burdett NY: 1984 
248 pages, $10.95 



Be forewarned that Pro- 
grammer Productivity is not 
intended for hobbyists, 
although amateur program- 
mers would do well to 
adopt good programming practices. Parikh has written this 
text primarily for professional programmers and data- 
processing managers working in large-systems 
environments with teams of programmers, designers, and 
analysts developing applications software that often 
encompasses thousands upon thousands of lines of code. 
Consequently, the book's technical nature often makes 
for dry, sometimes ponderous reading. Additionally, Parikh 
assumes the reader possesses more than a casual knowl- 
edge of professional programming operations. He does 
not shy away from technical prose. 

Parikh begins each chapter by quoting either his own 
experiences or those of other data-processing experts. He 
follows this with a presentation of some of the more 

[continued) 



ILLUSTRATED BY KATHERINE MAHONEY 



JUNE 1985 -BYTE 65 



o 

COMPUTERBANC 




LOUJCST PRIC€S ANVWH€R€! flNVTIMC! fiNVPMCC! 

THOUSANDS OF fiVfilinBl€ 1T€MS. CALL FOR COMPL6T€ PRICING. 



IBM PC 

Starter System 

$2059 

2 drives, 256K, 

Mono-Card 
Parallel/Monitor 



IBM PC 

Deluxe 

$2999 

20M6/2 drs/256K 

Monocard/Parallei 

Monitor 



IBM PC/AT 
$5559 

360K 

1.2 Meg Floppies 

20 Meg Hard 

512KT1am 



IBM PC/AT BRSC CALL 

IBM PC/AT CNHRNCCD CALL 

IBM SOFTWAR6 

ASCI €xpr»ss For IBM 125.00 

flSMTON TAT€ Framework 3S9.00 

d8RS6 II £80.00 

dBflSe III 369.00 

CNCAGAAPHICS 269.00 

FOX & GCLLCA Quichcode 139.00 

dGroph 149.00 

UFCTRCC SOFTWflRC Volkswriter 119.00 

Volkswriter Deluxe 169.00 

Lotus 1-2-3 289.00 

Symphony 425.00 

MICROPRO LUordstor 249.00 

2000 269.00 

Professional 359.00 

MICAOSOFT Word 229.00 

Multiplan 139.00 

C-Compiler CALL 

Project 159.00 

MICRORIM Rbase: 4000 295.00 

MULTIMRTC 269.00 

PC Mouse UU/Softujare 139.00 

PFS Write, File. Report 89.00 

Proof, Recess 79.00 

IBM HRRDWRR6 

RSTSixPachPlus64K 259.00 

MegaPlusll 269.00 

Pc Net 1 Starter Hit 830.00 

RT Rom to 1.5 MB CALL 

FRANKLIN TCLCCOM 

10 Meg Horddish 659.00 

22 Meg Horddlsh CALL 

Cartridge backup CALL 

HCACUUS Mono Graphics 316.00 

Color Card 159.00 

IBM Floppy 1.2 Meg CALL 

IRWIN Tape Drive 539.00 

MICROSOME NCC 

10MB Winchester 659.00 

MOUSC SVSTCMS Optical Mouse. 169.00 

ORCHID Turbo CALL 

Pc Net Starter Kit CALL 

PLANTAONICS Colorplus 389.00 

OUADAAM Quadboard O-K 219.00 

Ouadcolor 1 or Mlcrofazer 64K . . 205.00 

Quad for PC Jr CALL 

STB Rio plus 64K 245.00 

Super Rio 255.00 

Grophix + II N€W 245.00 

TALC GAASS 12MB ID/Tape. . . . 2395.00 

TANDOM TM 1002 169.00 

T€AC 55B 119.00 

55F 159.00 

ALSO — PCASVST, ORCHID, 
TITRN RND OTHCRS 

MODCMS 

ANCHOR Mark X 109.00 

Mark XII 239.00 

Volksmodem 1200 199.00 

HAV€S 1200 395.00 

1200B 349.00 

2400 CALL 

Micromoden //e 219.00 

PAOMCTHCUS Promodem 1200 .308.00 

UJC SUPPORT THCSC FINC SVSTCMS: 



IBM PC/AT DAIVCS/BOAADS CALL 

IBM XT CALL 

MONITORS 

AMDCX 300 129.00 

300R 145.00 

310R 169.00 

Color 1 + 269.00 

Color II 459.00 

N€C 1201 Hi Res Green 115.00 

1260 Green 79.00 

JC 1215 Composite Color uj/audio. 215.00 

JC 1216 Color RGB 329.00 

PAINCCTON GAAPHICS HX-12 . . . 469.00 

SR-12 625.00 

MflX-12 189.00 

TAXAN Composite Rmber 119.00 

121/122 149.00 

420 (RGB) 439.00 

415 (RGB) 489.00 

ZCNITH ZVM 122-123 95.00 

PRINT€RS 

BAOTHCA HR-15 359.00 

HR-25 599.00 

HR-35 820.00 

20241© 915.00 

CPSON RX-80 F/T 329.00 

FX-80 + 389.00 

FX-100 + 595.00 

LQ1500 1299.00 

JUKI 6100 429.00 

N€C 2030 659.00 

2050 699.00 

3530 1229.00 

3550 1449.00 

OKIDATC 92R CALL 

93R CALL 

PANASONIC 1091 CALL 

STAA MICAONICS SG-10 239.00 

TOSHIBA 1340 759.00 

1351 1299.00 

RPPL€ PRODUCTS 

APPLICD CNGA Mega Ram CALL 

APPL€ Compatible Drive 145.00 

APPLCUJORKS 215.00 

APPL€MOUS€ II 129.00 

APRICORN Serial 69.00 

80 col/64 Hz only 99.00 

Grophlcs Card 79.00 

ASCl II €xpress Professional 89.00 

MACINTOSH VA drive 159.00 

Harddrive CALL 

MACINTOSH Software Jazz CALL 

MICAOSOFT Softcard II 229.00 

Multi-plan //e & Mac 129.00 

Basic (Mac) 109.00 

MICRO SCI R2 drive II 'e 169.00 

//e drive 169.00 

HAVCS Mach III Joystick 39.00 

SVST€MS SAVCR Fon 69.00 

T€RC //e drive 169.00 

Tlton Accelerator 239.00 

VIDCX Ultraterm 179.00 

Videoterm 159.00 

UJCSPCR Graphics Interface 69.00 

Buffered Graphics Interface 139.00 

RPRICORN Super Serial Cord .... 109.00 

Apple, Compaq, IBM, and many mors. 



TELEX #550757/ ANSWER BACK— COMFUTEFBANK UD 



O 



Orders Only 
800/332-BANC 



OUTSIDE CALIFORNIA 



COMPUTERBANC 



16783 Beach Blvd., Huntington Beach, CA 92647 
714/841-6160 

Cosh prices indicoted. fill products ore in roctoru seoled pockoges UJe guarantee oil Kerns for 30 dous. 
Within this period, defective merchandise returns must be octomponted bu RMfl number, fill other returns ailll 
be subject to o 10% restocking fee. For prepoid orders, there will be o 3% shipping chorge; 5% For UPS Blue 
Lobel; J5.00 minimum; oil orders outside U.S.fi. ot 1S% shipping. Colifornia residents odd 6%, soles tox. 
Prices subject to chonge without notice. 

£ Copyright )985 COMPUTeflBRNC. All Rights Reserved 



BOOK REVIEWS 



popular (and not so popular) theories and practical 
methods that promise to increase programming efficiency 
and lower maintenance costs. 

Throughout the book, the author intersperses details of 
personal successes and failures, as well as other case 
studies, encountered during the process of implementing 
and testing the various productivity techniques. Generally, 
Parikh does not hesitate to show his support for one 
technique over another. 

Improved Technologies' 

The book's central hypothesis revolves around what Parikh 
calls "improved programming technologies." If these tech- 
nologies are adopted, dramatic increases in the 
productivity of programming projects can be realized, ac- 
cording to Parikh. In the first chapter, he lists these tech- 
nologies: HIPO (hierarchy plus input-process-output), top- 
down program development, chief-programmer teams, de- 
velopment-support libraries, structured programming, and 
structured walk-through. 

Unfortunately, Parikh does not go into any great detail 
about any one technique; he leaves that for further 
research by the reader. Instead, he offers a quick overview 
of each technique, sometimes listing the good and bad 
points. With HIPO and structured programming design, 
for example, he provides simplistic models of these 
different approaches, mixing each with comments and his 
own experiences. 

Of course, many techniques employed to increase pro- 
grammer output, such as Warnier-Orr diagraming and 
structured design, are subjects of books themselves. Parikh 
cannot be expected to treat them in depth in a book 
designed as an overview of programmer productivity. 

The success of any one of Parikh's recommendations 
depends on the size and nature of the project. But of the 
six technologies outlined by Parikh, you'll get the impres- 
sion that structured programming technique is the method 
most capable of producing the most success. And indeed 
it has been our experience that structured programming 
methods have proven more successful in increasing prod- 
uctivity as well as long-term maintainability of software 
than many other methods devised. 

You might get the impression that the author is address- 
ing only COBOL programmers. However, this is not the 
case. While a chapter is devoted specifically to COBOL 
using a preprocessor, the wealth of material Parikh covers 
is not bound by any language and could be just as easily 
applied to FORTRAN, C, Pascal, or BASIC 

Pedantic 

Parikh occasionally drops his guard and comes across 
sounding a little pedantic, at times condescending. This 
is unfortunate because it detracts from an otherwise good 
treatment of material. There are times when Parikh writes 
more like a crusader waving the banner of improved pro- 
gramming technologies than a professional sharing his 

[continued) 



66 BYTE • IUNE 1985 



Inquiry It 



E BEST MODE 
THE MARKET 



Other people make modems for telecommunications. 
But our new Courier 2400™ modem is made for busi- 
ness. This modern modem transmits, over the phone, 
240 characters a second, enabling you to upload or 
download data at twice the speed of a 1 200 bps 
modem. You'll cut phone costs, save precious hours 
and increase productivity. 



wfciwgiq 



•MPORTANT. 



The Courier 2400 features auto-dial and auto-answer 
. . . and is fully CCITT and Bell compatible. It responds 
to the full AT command set, allowing you to use any 
of the popular telecom software packages, including 
Telpac™ by U.S. Robotics, Crosstalk™, PC Talk™, 
Smartcom™ and many 
others. And the entire AT 
command set and S-register 
functions are displayed on 
"help screens" and again 
summarized for you on the 
underside of the unit. 
Courier 2400 is accom- 
He\p screens modating in other ways too. 

It lets you know the length of each call, tells you (on 
screen) the status of a call in progress, and even fea- 
tures an adjustable speaker to provide audio phone 





line monitoring. Courier can test itself 
in both answer and originate modes, 
and automatically adjusts from 2400 
bps to 1 200 or 300 bps. And a powerful 
automatic equalizer assures nearly 
perfect performance on every call. 



At $699, you'll not find more modem for 
the money. If you prefer an internal 
slot modem for IBM-PC and compatible 

Microiink24oo™ comput ers, our new Microlink 2400™ 

will deliver the same superior performance at the 

same affordable price. 

And to get the most 

out of either Courier 

or Microlink, ask for 

new, improved Telpac 

telecommunications 

software with easy to 

use windows. 

We Set OUt tO build Bottom of Courier 

the best modem on the market. Now, it's ready. Once 
you try Courier or Microlink, we think you'll agree — 
we're not exaggerating one bit. inquiry 409 

courier 




by U.S. Robotics, Inc. 

8100 McCormick Blvd. 
SkokieJL 60076 
Phone: (312) 733-0497 
Telex: 650-1 86-3130 
Outside Illinois: 1-600-Dlal USR 





Inquiry 51 



P^ 



THE UPS 
THAT TALKS 
TO YOUR COMPUTER. 




TOTALLY EFFECTIVE 
POWER PROTECTION 

Protects against blackouts, 
brownouts, spikes, sags, 
surges, glitches, noise and 
frequency shifts, Provides 
computer grade sine wave 
power. 

TRUE NO-BREAK 

UNINTERRUPTIBLE 

POWER 

MICRO-FERRUPS provides 
true no-break uninterruptible 
power. (Many UPS on market 
are rea y standby systems 
that break power from 2-10 
milliseconds when transfer- 
ring to battery backup. That's 
an eternity to your computer 
and disk drive.) 

BATTERY INCLUDED 

Sealed no-maintenance, long 
lifebatteryincluded. An auxif- 
iary 12 volt battery can be 
added for longer backup time. 




250VA $945 
500VA $1345 

TALKS TO COMPUTERS 

The on-board microprocessor 
and RS232 port allows 
MICRO-FERRUPS to inter- 
face with computers. Your 
power can be monitored by 
the computer so you know 
what is happening and an 
orderly shutdown can be 
made. AC input and output 
voltages, output current, load 
VA, Tine frequency, battery 
voltage and backup time 
remaining can be displayed 
on terminal. 300 or 1200 
selectable baud rate. ASCII. 



A OSCP BEST power 
X/Dt-Dl technology, inc. 



800-356-5794 

Wis. 608-565-7200 



; P.O. BOX 280. NECEDAH, WISCONSIN 54646; 



When Vour 
Chips Are Down, 




Bank on BVT€K's 

(6)PROM MultiProgrammer System SI 5-G 

With Less Restrictions 5) a FR66 K6VBQRRD 

For Only $1150. 

Stand Alone or Hook Up to your Terminal, 

3 Voltage Devices, Simulation Module, 

Supports Bipolar, PALs, 40 Pin Chips. 

Also Available: S5 Basic (E)PROM 

Programmer, $690. UV Erasers from $67. 



fl0fflflBfflP cOMPUT€B SVSTCMS CORPORATION 

1021 South Rogers Circle, Boca Raton, FL 33431 

CALL TO ORD€R (305) 994-3520, Telex 4310073 M6VBTC 
Distributor Inquiries Welcome 



BOOK REVIEWS 



knowledge and experience. Obviously, he feels very 
strongly about his subject matter. 

The Egoless Programmer 

One intriguing subject that Parikh suggests needs more 
attention is his idea of "egoless programming." He devotes 
an entire chapter to this ignored topic. 

Parikh urges programmers and managers alike to aban- 
don egocentric attitudes and pull together as a team on 
projects. He asserts that the key to self-fulfillment is to 
become "egoless." Only then will programmers (and 
managers) get a clearer picture of the task at hand. He 
cautions programmers not to take criticism personally but 
to instead be open to suggestions from peers and accept 
"humbling tasks." 

To merge ego into the programming team may sound 
a bit offbeat for the average software-development group 
in this country. Given the prevailing attitudes of most 
American workers, we doubt that this philosophy would 
stand much of a chance of being taken seriously, but 
Parikh's discussion is interesting nevertheless. 

Programmer Productivity opens several doors that poten- 
tially lead to increasing both the quantity and the quality 
of computer-programmer output. The author freely 
acknowledges that the programmer's craft as an intellec- 
tual endeavor is very difficult to measure, let alone im- 
prove upon. But, he insists, with the proper use of "im- 
proved programming technologies" it can be done. Parikh 
leaves it to the reader to choose which technology is best. 

Michael Martinez (7475 San Bergamo Dr., Goleta. CA 93117) 
is a systems programmer. E. Francis Avila (POB 4401, Auburn, 
CA 95604) is a contract programmer working on a degree in 
mathematics. 



APPLYING SOFTWARE ENGINEERING PRINCIPLES 
Reviewed by Annette Hinshaw 

With questions and exercises at the end of every 
chapter and a dry academic style that tends to 
obscure the important material it contains, Applying Soft- 
ware Engineering Principles looks like a textbook. However, 
the exercises suggest individual study rather than class- 
room use. Every problem requires access to a library of 
programs used in business. The questions ask the reader 
to analyze both successful and unsuccessful software in 
light of the principles covered in that chapter. They also 
suggest ways to implement the ideas from the chapter in 
upcoming programming projects. 

These exercises are excellent, but they seem pertinent 
only to people working in programming shops large 
enough to require multiperson projects. On the other 
hand, the exercises may require more time to complete 
than most working programmers can spare for self- 
improvement. 

[continued) 



68 BYTE • )UNE 1985 



Inquiry 66 



Ifoumaybe 
the best programmer 

in the world* 



Salesperson: \ 
Ilia's tote; %ffim 



Ship To: ; 



nfranco Office $yste*s 
23 89th Street 
"ddle Vill, gj 



I feet tot muptete Ship Ufa FOB Point 



iMHffli $»EKEi MM 



tiatitj 1 1 tin tin ksewptioa 



fens I fefc* fefcr 



amm \mmmm 



I Sit Price I beat 



| j23-CH12|ITPlug Pin 



I g^CTHTTTCT- 



]12 



IC=|[ 



i fume — m l 



For $125 you can # 
let the world know it 



You're a good programmer. Maybe even the best. 

But do your users know it? 

After all, they weren't around while you were 
working on your latest program. They can't know 
all the creative energy, all the problem-solving 
persistence that went into it. 

All they know is what they see on the screen. Is it 
handsome? Is it elegant? Does it make the program 
easier to use? 

Or is the screen dull, unimaginative and not as 
clear as it might be? 

Nowyou can remove the last obstacle between 
you and programming perfection. You and Screen 
Sculptor can create a beautiful, logical screen in 
minutes. Then Screen Sculptor automatically 
writes the program — in IBM Basic, IBM Pascal, 
or Turbo Pascal — to display the screen and allow 




SOFTWARE 
BDTTLinG 

cnmpfinv 



the user to enter data. 

Design a screen you like and rearrange it when- 
ever you like. Select colors from a mouth- 
watering menu. Choose special characters, draw 
lines and boxes, paint in areas, repeat a character in 
any direction! 

Specify input fields, variable names, data types, 
acceptable data ranges and more. If you like, design 
one screen to input data, another to output it. 

Then Screen Sculptor generates actual program 
source code based on your screen design. 

You'll need an IBM PC, XT, PCjr, PC AT or 
100% compatible, 128K, DOS, one 3 20K disk drive 
and any 80-column display. We supply the rest. 

Screen Sculptor. For $125 you can make your 
users very, very happy. 

While making yourself look very, very good. 



Try itFREE for 30 days! 

Here's a no-risk off er. Order now and 
you'll also get a full demo disk. Use the 
demo and the manual for 30 days. If you 
don't love it, return the package for a full 
refund! 



Credit card orders only call 24 hours a day, 1-800-824-7888, operator 268. 

For all other orders and inquiries call orwrite: The Software Bottling Company of New York, 6600 L.I. Expwy, Maspeth, NY 1 1378. 
(718) 458-3700. If we're shipping to a NYS address, please add S l A% sales tax. 



Inquiry 3 76 



IUNE 1985 -BYTE 69 



High performance to cost ratio... 

Programming Chips? 



Projects develop profitably with development hardware /software from GTEK. 



MODEL 7228 - $599 
This model has all the features 
of Model 7128, plus Intelligent 
Programming Algorithims. It 
supports the newest devices 
available through 512Kbits; pro- 
grams 6x as fast as stanaard 
algorithims. Programs the 2764 in 
one minute! Supports Intel 2764A 
& 27128A chips. Supports 
Tektronics, Intel, Motorola and 
other formats. 




MODEL 7956 

(with RS232 option) .... $1099. 
MODEL 7956 (stand alone) $ 979. 

GTEK's outstanding Gang Pro- 
grammer with intelligent 
algorithm can copy 8 EPROMS at 
a time! This unit is used in a pro- 
duction environment when pro- 
gramming a large number of chips 
is required. It will program all 
popular chips on the market 
through the 27512 EPROMS. It 
also supports the Intel 2764A & 
27128A chips. It will also program 
single chip processors. 

EPROM 

PROGRAMMERS 

— H>eee features are standard from GTEK— 
Compatible with all RS232 serial interface parts • Auto select baud rate • With cr without hand- 
shaking • Bidirectional Xon/Xoff • CTSDTR supported • Read pin ooiupatibfe ROMS • Noper- 
sanality modules • Intel, Motorola, MCS86 Hex formats • Split facility for 16 bit data paths • 
Read, program, formatted hst onmmands • Interrupt driven — program and verify real time while 
sailing data • Program single byte, block, or whole EPROM • Intelligent diagnostics discern bad 
and/cr erasable EPROM • Verify erasure and compare commands • Busy hght • Complete with 
Textool zero insertion foroe socket and integral 120 VAC powa- (240 VAC/50Hz avaflabfe) • 



&PAL 




MODEL 7324 - $1199 
This unit has a built-in compiler. 
The Model 7324 programs all 
MMI. National and TI 20 and 24 
pin PALs. Has non-volatile 
memory. It operates stand alone 
or via RS232. 




MODEL 7128 - $429 
This model has the highest 
performance-to-price-ratio of any 
unit. This is GTEK's most popular 
unit! It supports the newest 
devices available through 
256Kbits. 



MODEL 7316 Pal Programmer $ 599 

Programs Series 20 PALs. Built-in PALASM compiler. 



DEVICES SUPPORTED 



by GTEK's EPROM Programmers 



NMOS 



NMOS 



2758 2764A 2508 68764 

2716 27128 2516 8755 

2732 27128A 2532 5133 

2732A 27256 2564 5143 

2764 27512 68766 



CMOS 

27C16 

27C16H 

27C32H 

27C64 

27C256 



EEPROM 



MPU'S 



5213 I2816A 8748 8741H 

5213H I2817A 8748H 8744 
52B13 8749H 8751 

X2816 8741 68705 

48016 8742H 



UTILITY PACKAGES 

GTEK's PGX Utility Packages will allow you to specify a range of addresses to 
send to the programmer, verify erasure and/or set the EPROM type. The PGX Utili- 
ty Package includes GHEX, a utility used to generate an Intel HEX file. 

PALX Utility Package — for use with GTEK's Pal Programmers - allows 
transfer of PALASM® source file or ASCII HEX object code file. 

Both utility packages are available for CPM,® MSDOS,® PCDOS,® ISIS® and 
TRSDOS® operating systems. Call for pricing. 

AVOCET CROSS ASSEMBLERS 

These assemblers are available to handle the 8748, 8751, Z8, 6502, 68X and other 
microprocessors. They are available for CPM and MSDOS computers. When order- 
ing, please specify processor and computer types. 

ACCESSORIES 



Model 7128-L1, L2, L2A 

(OEM Quantity) $259. 

Model 7128-24 $329. 

Cross Assemblers $200. 

PGX Utilities Call for pricing 

PALX Call for pricing 

Qtek 



XASM (for MSDOS) $250. 

U/V Eraser DE4 $ 80. 

RS232 Cables $ 30. 

8751 Adapter $174. 

8755 Adapter $135. 

48 Family Adapter $ 98. 

68705 Programmer $299. 



Development Hardware/Software 
P.O. Box 289, Waveland, MS 39576 
601/467-8048 
,INC. 



GTEK, PALASM, CPM, MSDOS, PCDOS, ISIS, and TRSDOS 
are all registered trademarks. 



BOOK REVIEWS 



David Marca has divided his book into four sections: 
general concepts, engineering with a computer language, 
engineering using existing software, and engineering with 
regard to human and machine environments. 

Marca researched this book extensively; he supports 
many important ideas with numerous citations. The book 
is long on general principles, but it never quite makes it 
to the "applying" of the title. For the most part, these 
general principles are not related to concrete, real-world 
issues. Although he promises early in the book that he 
will help software engineers make specific design choices, 
Marca does not fulfill this promise. The book contains the 
pieces to develop decision guidelines, but they are like 
unstrung beads. I wanted walk-through examples show- 
ing how to apply principles to specific situations. And I 
had trouble making the obviously sound ideas in the book 
jell into a set of rules for making decisions. 

Marca defines software engineering as "the act of an 
individual who learns to develop software in a practical 
setting." He emphasizes that engineering is different from 
writing program code. lust as most of the engineering on 
a bridge is complete before construction begins, so soft- 
ware engineering is largely a series of planning decisions 
on what to include in a software system and how to ar- 
range the program for easy use and maintenance. This 
planning comes in stages: analysis, design, implementa- 
tion, and installation. Marca devotes most of the book to 
the implementation stage, where actual code is generated. 

All programming examples are in FORTRAN. The 
author's decision to use only one language limits coverage 
on some topics. He mentions recursion but does not 
discuss it because FORTRAN does not support this tech- 
nique. He uses FORTRAN'S poor string handling as an ex- 
ample of a need to extend a computer language, but he 
does not address strings as a data type because most ver- 
sions of FORTRAN do not use text. He touches on the 
difficulty of using files in FORTRAN but does not provide 
examples of this function from another language. 

Marca discusses designing software with parameters 
such as cost-effectiveness, timely production, and simplici- 
ty. He recommends organizing activities into analyzing a 
problem, designing a system that can solve the problem, 
writing a program to the design, and installing the finished 
program. His principles are not original, but they are a 
sound basis for operation. 

Models 

The chapters on modeling are a good example of my 
frustration with this book. Obviously a good model for 
a system is central to good software design. Marca begins 
by analyzing what makes a model and then explains limita- 
tions. He talks about form and language and offers an al- 
gorithm for creating a model. Instead of providing some- 
thing concrete, he moves on to validating a model. The 
exercises at the end of the chapter do offer concrete 
examples, but this makes the book useless for anyone who 

[continued] 



70 BYTE • IUNE 1985 



Inquiry 201 




Just hatched 



BDT Products BDT 




EPSON 



We just hatched a new line of automatic sheet 
feeders for the Epson FX-80 + and FX-100 + . 

They're called the Lettermate l/e's and they sell for 
chicken feed; starting at $199.00. 

Being LetterMates from BDT Products, they have all 
the features you'd expect: continuous feeding action, 
an adjustable bin for horizontal or landscape printing, 
and easy, super-fast installation by the user. 

Your local BDT dealer would be proud as a peacotk 
to show off the LetterMate I/e's. Give him a whistle. 



Nothing tops a printer lihe a LetterMate 

For More Information, call or write: BDT Products Inc. 

BDT Products Inc. 17152 Armstrong Ave. • Irvine, CA 92714 • (714) 660-1386 -Telex 681-334 • Telecopier (714) 474-0480 
In West Germany BDT GmbH • P.O. Box 80 • D-7210 Rottweil, W, Germany • Telephone (0741) 248-0 • Telex 762-876 (bdtro) d 
Inquiry 48 for End-Users. Inquiry 49 for DEALERS ONLY. 




WE'RE BUILDING A 
NETWORK FOR SALES. 



NO ONE BACKS IT UP LIKE WE DO. 

From first-time userto seasoned pro. 
From national telemarketing to local 
retail stores. Whoever you are, and 
whatever your microcomputer needs, 
for sales, service and support, you can 
count on Micro Mart. 



CUSTOMIZED SYSTEMS, 
CUSTOMIZED SUPPORT. 

Micro Mart customizes personal and 
business computers because we have 
the expertise to do it right. Our special- 
ties include advanced memory systems 
like hard disk drives and multifunction 
boards. And much more. 

Now you can depend on Micro Mart 
for customized service and support. 
Our service center is the largest in the 
Southeast, and it backs up every tele- 
marketing sale we make, nationwide. 
Our retail sales are supported by the 
best in-store Techs in the business. So 
our service is on-line, on site or 
on-the-spot. And we do 
it on time. Try us 
and see. 



MICRO MART NATIONAL 
ALWAYS UP-TO-DATE. 

Micro Mart is the place to find the latest 
products. Our state-of-the-art 
mainframe-to-inventory connection 
puts every buyer on-line with our ten mil- 
lion dollar inventory. Instantly. 

Our telemarketing salespeople are 
highly trained consultants, constantly 
up-to-date, so you don't 
have to be. And we 
offer equally innova- 
tive financing, like 
the Micro Mart 
Blue Chip Credit 
Card. Call us today 
for systems, sales 
and support, and dis- 
cover why Micro Mart is 
way out in front. 




Micro Mart has financing options 
available. Askf or a Micro Mart Blue 
Chip Credit Card application, today. 



Service & Repairs 

• On-Site— We have hundreds of 
service locations nationally. 

• Depot— Our National Service 
Center is one of the fastest 
in the U.S. 

• We have— A wide variety of 
services available. Please call us. 



MICRO MARTHAS OVER 20 STORE LOCATIONS. CALL FOR THE ONE NEAREST YOU. 



72 BYTE • JUNE 1985 



NATIONAL REFERRAL 
SERVICE AND SUPPORT. 

Computers Multifunction Boards micropro chartstar. 

LEADING EDGE Complete systems. FROM $1495 We have a complete line of multifunction boards MICROSOFT Chart. 

AT&T Color and Mono systems. Instock!! compatible with the Portable, AX XT, & Jr. Communications 

Call for Low, Low Price! THE BOARD SPECIAL O F THE MONTH! wwimimmhiwmwh« 

COMPUTER SPECIAL OF THE MONTH! CALL FOR DETAILS MICROSTUF CROSSTALK XVI. Latest version $99 

CALL FOR DETAILS! SIX PACK 64-384K, multifunc H AYES SMARTCOM II. 

Networkina/Protocol Mpn RAMboards ' for pc & pc compatibles. _ call Word Processors 

UBLWUrKing/l~roTOCOI |/Q M | NN | Ej |/ shortboardfor Portable & AT. ■ : 

Conversion ADVANTAGE 128K-3Mb, expansion for AT. _ CALL MULTIMATE w/Spelhng checker & tutorial. 

= =^= QUADRAM QUADBOARD, 64-384K, Low Price 

SN A& BISYNC 3780, 5251 Mod 1 2 & Mod 1 1 , 3274, multifunction $259 SAMNA + word processor. 

3278. . TECMAR CAPTAIN, 0-384K multifunc. $185 MICROSOFT Word. New Version 

PC TURB0 186 by ORCHID, 80186 coprocessor TALLTREE J-RAM II III IV. New Low Price! LIFETREE Volkswriter Deluxe. $169 

board . $599 STB R 10 GR AN DE& GRANDE BYTE, Expansionfor SSI WordPerfect. Newversion 

IRMA Complete I me. FROM $799 AT 128K FROM $259 MICROPRO WordStar Professional Series. 

FORTEGRAPH for IRMA, upgrades IRMA to 3279 fir anhieCardi New Low Prlce 

PCneWRCH/D's new complete line. _ FROM $299 PREVIEW Monochrome oraohics Hercules Qjjjgg & Project Planning 

^P^ ilW TR^ IB {; yW H 5251Mod12& loolS HARVARD TotalProject Manager. $299 

3276 Emulatorsand 3270 Keyboards. HERCULES Mono & color graphics cards SORCIM/IUS Super Project. 

Printers & Plotters TECMAR Graphics Master, HiRes color & mono MICROSOFT Project. 

We have thousands in stock. QUADRAM Ouarfco/or/A//, color cards. Data Base Managers 

PmNTERSPECIALOFTHEMON™! PARADISE SYSTEM Multi-display or Modular Call for our unadvertised Data Bases. 

CALL FOR DETAILS! Graphics Cards, color & mono, par port. MICRORIM 4000 or 6000, Report Writer & Clout 

HOUSTON INSTRUMENTS Plotters & tt ,^„.^ , ^ u . n , u A FR0M $249 options New low price! 

Digitizers. SIGMA Color 400, HiRes color board WARNER SOFTWARE The desk organizer. _ $145 

nl* Motriv New Low Price! ASHTON-TATE dBase II & III. AT compatible 

uoi matrix Software microstuf infoscope 

EPSON FX80 Plus/1 00 Plus ~^--.... *«-««-,*.*. ^- v .j-..^* m ,. Modems 

EPSON LX80/100, RX80/100. SOFTWARE SPECIAL OF THE MONTH! mgqema 

EPSON LQ1500 CALL FOR DETAILS HAYES Smartmodem 300, 1200, 1200B & 2400. The 

EPSON JX80, color printer. Accountina best stock in the U - S CALL 

COMREX 420. 400 cps. Epson compatible. _$1795 J ^^^ V>MI " ^ PROMETHEUS Modems 

OKIDATA 192& 193, ML84, Pacemark 2410. _CALL SORCIM/IUS Complete line including windows. VEN-TEL 1200 BAUD Half Card w/ Crosstalk.. $419 

OKIDATA Color printers. Complete line FROM $289/EA. POPCOM Popcorn, int. & ext. w/voice and data 

TOSHIBA P-351 & 1340. New Low Prices! CYMA Complete business series. communications. 

texas instruments 855, 865 & bso xl^ ^ Spreadsheets & Integrated Miscellaneous 

I Attar Onalitv Packages DYSAND/SK£7T£SPC,XT,& AT compatible. 

LCUCr **"<"Hy ~ - 7 GUARANTEED LOWEST PRICE IN THE U.S. 

NEC Spinwriters 2050, 3550, 8850. New Low Price! SlZjSSS^^lS^^^^S^ CALL! 

JUKI6700/6300. $419/$749 SJSSSS^f 1 M Jl lt \ Pl * n > w/te ™P lat e s - — = ^-j— : MOUSE SYSTEMS PC Mouse, optical w/software. _ 

COMREX CR II E, CRIII &CRIV. SORCIM SuperCalc 3, vers. 2.0 . _ New Low Price! MICROSOFT MOUSE Bus or serial mechanical 

diablo New lq printers. call Enhancements & Utilities mouse 

Wecarryafullrangeofformhandlingoptions. „^ w ,~-. „ ^^ ; — r. r~r T~ KEYTRON ICS 5150 & 5151. Keyboards for PC and Jr. 

Cl#% m w PfcS^lr rwiw A <* FOX &GELLER Complete line of enhancements for KENSINGTON MICRO WARE /tfasterP/ece. _$119 

rlOppy UISK UriveS dBase II, III & Rbase 4000. CURTIS Accessories. Pedestals, cables, etc. 

TANDON7/WW0-? DD/D^ ?fif)K NORTON Utilities 3.0. $69 HAYES Mach II & Mach III Joysticks 

TANDON 7M700 2, DD/DS,3 60K^ ROSESOFT ProKey 3.0 $89 QUADRAM Microfazer. Printer buffer 8-128K. 

1/2HEIGHTDISKDRIVESF rorSHUGART CENTRAL POINT SOFTWARE Copy// PC. _ $35 ^ FROM$129 

MITSUBISHI, TEAC. PC, XT & AT comp. FROM $119 SiSSSXS' 6 c Qf c yj . ^^^ PrintQr $55 TR J?j™HI E Back-up ?™ er S " P P ^ 200-1000 watts, 

iQPPn ai t TWft 1 io MFifiWT noiVFQ «v» SOFTSTYLE SetFX + and Printworks. Printer and ISOBAR surge protectors, 4 & 8 plug. 

Shli. 2 TLISSU! HEIGHT DRI VES ' * ooq contro1 pk 9 s POLAROID Palette 1_ $1 345 

cables & brackets $229 SIDEWAYS Inverts printout $45 aa^:*^..^ ^j r D TV 

Hard Discs Borland sideKick and superKey. Monitors ana cm s 

— - — — . — — — — — — — ■ LIVING VIDEO TEXT Think Tank $125 PGS Max12 (E), Amber, Monochrome that also runs 

seeit^^ Compilers & anguage Tools o^^^^^^i^i^ 

PEACHTREE TECHNOLOGIES P-10, 20, 30 & 50, LATTICE C-Compilers. $299 r**"*- 1 ***™' UOIOrHUb N S ew s |a| Pr|ces 

int & ext. For your PC, XT, AT, AT&T, COMPAQ or MICROSOFT Complete line. QUADRAM Quadchrome, 690 Dot RGB. $429 

PEA^ uT PEE T E ^uMr» Ar.ce M h/o u i • £ BORLAND Turbo Pascal, Turbo Toolbox and more. QUAD RAM Amberchrome. Amber monochrome. 

PEACHTREE TECHNOLOGIES, New 1/2 Height FROM $35/EA. $159 

c£!r!^^ GraDhiCS&CAD AMDEKCo/or 300, 500, 600, 700, 710, 722 

SYSGEN 10 &20Meg w/streamertape WapniCSftUMU AMDEK 300A/300G Composite monitors. 

cv^r Em m, a n* jl n,,inuml f*H Jmo ^Sf hlS ^ MicroMartcarriesall major CADpackages. Call if $129/$119 

SYSGEN Image >&Qutckfile, streamer tape ^back-up don > t see it AMDEK 310A, Amber monochrome. In Stock!! 

X u n S 7\ ?Tcrui 5ni KFvuzS fiSn Zsof x PC Paint Brush, mouse driven graphics. _ $95 W YSE 50 Terminal $475 

i i klSiti" TECMNOLOG Y Hard Ulsc n .. , DECISION RESOURCES ChartMaster/ TAXAN RGB Color Monitors. Complete line at low, 

DAV S a S e w.ineofharddiscs.21 & 32Mb °^ Sign-M aster pkgs. lowprices. ^". CALL! 

ss . s '•" 9 •"• 5 America's PC Specialist 

We guarantee the lowest price for chips! Call us!! ^ mi r- 4vw-v ^^ ^S^k ^m ^ ^a m 

INTEL8087, 80287 High speed coproc. 

FROM $129 

64K RAMCHIPS. Call For Market Price 

256KRAMCHIPS Call For Market Price 

128K PIGGY-BACK Chips for your AT. 

Call For Market Price Prices are subject to change without notice and are similiar; but vary at Micro Mart Retail Stores. 

IBM Is a registered trademark of International Business Machines Corporation. 



Inquiry 2 77 



JUNE I985 -BYTE 73 



64K S100 STATIC RAM 

*139?° 



'KIT 



NEW! 

LOW POWER! 
150 NS ADD $10 



BLANK PC BOARD 
WITH DOCUMENTATION 

$49.95 




SUPPORT ICs + CAPS 
$17.50 

FULL SOCKET SET 
$14.50 

FULLY SUPPORTS THE 

NEW IEEE 696 S100 

STANDARD 

(AS PROPOSED) 

FOR 56K KIT $125 



ASSEMBLED AND 
TESTED ADD $50 



FEATURES: PRICE CUT! 

* Uses new 2K x 8 (TMM 2016 or HM 6116) RAMs. 

* Fully supports IEEE 696 24 BIT Extended 
Addressing. 

* 64K draws only approximately 500 MA. 

* 200 NS RAMs are standard. (TOSHIBA makes 
TMM 2016s as fast as 100 NS. FOR YOUR HIGH 
SPEED APPLICATIONS.) 

* SUPPORTS PHANTOM (BOTH LOWER 32K 
AND ENTIRE BOARD). 

* 2716 EPROMs may be installed In any of top 48K. 

* Any of the top 8K (E000 H AND ABOVE) may 
be disabled to provide windows to eliminate 
any possible conflicts with your system monitor, 
disk controller, etc. 

* Perfect for small systems since BOTH RAM and 
EPROM may co-exist on the same board. 

* BOARD may be partially populated as 56K. 



PRICE CUT! 



256K S-100 SOLID STATE DISK SIMULATOR! 

WE CALL THIS BOARD THE "LIGHT-SPEED-100" BECAUSE ITOFFERS 
AN ASTOUNDING INCREASE IN YOUR COMPUTERS PERFORMANCE 
WHEN COMPARED TO A MECHANICAL FLOPPY DISK DRIVE. 

FEATURES: 

+ 256K on board, using + 5V 64K 
DRAMS. 

* Uses new Intel 8203-1 LSI Memory 
Controller. 

* Requires only 4 Dip Switch 
Selectable I/O Ports. 

* Runs on 8080 or Z80 S100 machines. 

* Up to 8 LS-100 boards can be run 
together for 2 Meg. of On Line Solid 
State Disk Storage. 

* Provisions for Battery back-up. 
+ Software to mate the LS-100 to your 

CP/M* 2.2 DOS is supplied. 

* The LS-100 provides an increase In 
speed of up to 7 to 10 times on Disk 
Intensive Software. 

* Compare our price! You could pay 
up io 3 times as much for similar 
boards. 




BLANK PCB 

(WITH CP/M* 2.2 

PATCHES AND INSTALL 

PROGRAM ON DISKETTE) 

$69 95 

(8203-1 INTEL S29.95) 



#LS-100 
(FULL 256K KIT) 

(ADD $50 FOR A&T) 



$169 



00 



THE NEW ZRT-80 

CRT TERMINAL BOARD! 

A LOW COST Z-80 BASED SINGLE BOARD THAT ONLY NEEDS AN 
ASCII KEYBOARD, POWER SUPPLY, AND VIDEO MONITOR TO MAKE A 
COMPLETE CRT TERMINAL. USE AS A COMPUTER CONSOLE, OR 
WITH A MODEM FOR USE WITH ANY OF THE PHONE-LINE COMPUTER 
SERVICES. 
FEATURES: 

* Uses a Z80A and 6845 CRT 
Controller for powerful video 
capabilities. 

* RS232 at 16 BAUD Rates from 75 
to 19,200. 

* 24 x 80 standard format (60 Hz). 
+ Optional formats from 24 x 80 

(50 Hz) to 64 lines x 96 characters 
(60 Hz). 

* Higher density formats require up to 
3 additional 2K x 8 6116 RAMS. 

* Uses N.S. INS 8250 BAUD Rate 
Gen. and USART combo IC. 

+ 3 Terminal Emulation Modes which 
are Dip Switch selectable. These 
Include the LSI-ADM3A, the Heath 
H-19, and the Beehive. 

* Composite or Split Video. 
+ Any polarity of video or sync. 

* Inverse Video Capability. 
+ Small Size: 6.5 x 9 inches. 

* Upper & lower case with descenders. 
+ 7x9 Character Matrix. 
+ Requires Par. ASCII keyboard. 




BLANK PCB WITH 2716 
CHAR. ROM, 2732 MON. ROM 



$4995 



SOURCE DISKETTE - ADD $10 



SET OF 2 CRYSTALS - ADD $7.50 



WITH 8 IN. 

SOURCE DISK! 

(CP/M COMPATIBLE) 



«99 



95 

# ZRT-80 



(COMPLETE KIT, 
2K VIDEO RAM) 



Digital Research Computers 

P.O. BOX 461565 • GARLAND, TEXAS 75046 • (214) 225-2309 



Call or write for a free catalog on Z-80 or 6809 Single Board 
Computers, SS-50 Boards, and other S-100 products. 



TERMS: Add $3.00 postage. We pay balance. Orders under $15 add 75$ handling. No 
C.O.D. We accept Visa and MasterCard. Texas Res. add 5-1/8% Tax. Foreign orders 
(except Canada) add 20% P & H. Orders over $50 add 85$ for insurance. 



BOOK REVIEWS 



lacks access to records of large programming projects. 

The rest of the material on modeling consists of truisms. 
Marca provides names for types of software engineering 
models. He sets up principles like, "Selecting the proper 
form for a model minimizes error" and "A model is either 
static or dynamic." He never quite advises how to find the 
best form for a given model. He doesn't tell you where 
to choose static or dynamic models. 

Anyone not familiar with the principles of structured pro- 
gramming can profit from the second section of the book. 
In the most cogent part of his text Marca explains simply 
and clearly how isolating data, subroutines, and sub- 
programs makes software easier to debug and maintain. 
He discusses complex data structures and search tech- 
niques. This section does not include much advanced 
material, but it is well organized, and it shows the advan- 
tages of careful planning and structuring in all aspects of 
writing a program. 

One section addresses recycling software. Software engi- 
neers may wish to lift subprograms from existing software 
to meet the needs of a new design. Well-designed soft- 
ware (i.e., structured, with each function complete and 
isolated) makes such reuse easy. Marca reprises some of 
the material from the previous section and discusses in- 
tegrating and testing subprograms. He also talks about 
software utilities, such as debugging tools. 

Marca presents a FORTRAN string-handling facility as 
an example of extending a computer language to meet 
design needs. In a chapter on software filters he discusses 
separation and testing of data. He also shows how to 
analyze the "behavior" of a system. A list of possible 
inputs is matched to possible outputs. Marca uses this list 
to derive a table of states of the system for all possible 
I/O (input/output) configurations. This table can be 
translated to a set of values, which can in turn control the 
program. The purpose of all this is to engineer a finite- 
state machine, which Marca says offers superior program 
control. In an appendix he includes the FORTRAN listing 
that implements the example of a finite-state design. 

The last part of the book talks about separating diverse 
concerns and dealing with them as distinct problems. 
Marca covers hardware factors and the user interface. I 
found the material in the chapters on human limitations 
in data handling and on building user interfaces the most 
interesting in the book. But again, the author offers a lot 
of valuable information and stops just short of making it 
really useful. For example, he says that the control for an 
operation can reside mainly with the machine, mainly with 
the person, or be shared between the two. Then he fails 
to discuss when to use which for most effective engineer- 
ing. The chapter on user interfaces contains more perti- 
nent information, but it is hidden under an unnecessarily 
academic prose style. 

Applying Software Engineering Principles is heavy on general 
principles but light on nitty-gritty applications. If Marca 
revised its excellent application exercises for classroom 

[continued) 



74 B YTE • JUNE 1985 



Inquiry 142 




Mark Williams knows that 
programmers are like everyone 
else: you tend to put your pants 
on one leg at a time. 

But you still have to get your 
programs up and running as fast 
as possible. With all the buttons 
buttoned and all the zippers 
zipped. 

That's why we developed the 
C Programming System. So you 
don't get caught with your pants 
down. 

To err is human-to debug, 
superhuman. 

Normally, nothing is more frus- 
trating for a programmer than 
the debugging process. You've 
spent months just getting the 
code written, but you know it's 
going to take at least that much 
more time to get the program 
running right. 

That's where our C Source 
Debugger (cscf)can be a big help. 

csdlets you debug like a 
human being-in C, not assem- 
bler-looking right at your code 
through the csdwindow, an 
exclusive Mark Williams feature. 
You can set trace-points to stop 
program execution at particular 
program lines, trace and display 
the value of any C expression or 
variable, and much more. 



With cscf you can run the 
target program a line at a time, 
continue to the next tracepoint, 
or even restart the whole pro- 
gram right in the middle of 
debugging. Meanwhile, you're 
squashing bugs as you find 
them. And your program will 
run without modification. 
Get a leg up on the 
competition. 

Every company says its compiler 
produces the fastest, densest 
code. But Mark Williams actually 
proves it. Take a look at the 
benchmark tests below and see 
if you don't agree. 

Now imagine just how much 
more competitive this kind of 
performance could make your 
products. 



EXECUTION TIME (SECONDS) 



The C Programming System 
supports the complete C lan- 
guage as defined by Kernighan & 
Ritchie. But it also goes on to 
include void and enumerated 
data types, register variables, 
structure assignments, Berkeley 
structure rules, and the biggest C 
library available. With support 
for a wide variety of third-party C 
libraries and utilities. 

You also get MS-DOS compat- 
ibility, large and small memory 
models, 8087 in-line support, and 
one-step compiling. A full range 
of options increases your flexibil- 
ity, letting you compile without 
linking, link without compiling, 
and more. 

With all these advantages, it's 
no wonder Intel, DEC, Wang, and 



PROGRAM SIZE (BYTES) 




MWC L M DRI CI MWC L M DRI CI 



many others have made MWC86 
their compiler of choice. (After 
all, they're only human.) 
A human interest story with 
a happy ending. 

All right, you're interested-which 
proves you're not only human, 
but smart. So what do you 
do now? 

Easy. Just call 1-800-MWC- 
1700. You'll talk to another 
human being who'll answer any 
questions you have. And if you 
want to order, we'll send you the 
complete system, including 
MWC86 compiler, csd debugger, 
complete library of functions, 
and more. All for just $495. 

The sooner you call, the 
sooneryou can be winning the 
race to get your products out the 
door. Which is, after all, a very 
human race. 

■ -Small Memory Model 
■-Large Memory Model 

NOTE: Sort program as in Byte, August 
1983, p. 91. Register declaration added. 
Further information on these benchmarks 
available from Mark Williams Company 
upon request. 

Mark 

Williams 

Company 

1430 West Wrightwood Avenue 
Chicago, Illinois 60614 



Call 1-800-MWC-1700 To order. 

IN ILLINOIS CALL 312-472-6659. VISA/MC ACCEPTED 



Inquiry 263 



JUNE 1985 -BYTE 75 




Undeniable. 

Deluxe Computer Forms means 
undeniable quality. Your order 
must match your requirements — 
or you won't pay! That's quality, 
undeniably. Guaranteed. 

Unquestionable. 

Our unquestionable guarantee 
means the forms you select are 
100% compatible with your 
software. Forms Consultants can 
answer your questions and we'll 
pay for the call. Tough questions 
about forms or compatibility — 
easy answers. 

Unbelievable. 

Unbelievable 3-day turn around 
means . . . fast service. You save 
money and time. Most custom 
forms orders 5-1 day turn around. 
Believe us, that's service. Fast. 





D€LUX€ 



COMPUTER FORMS 



A DIVISION OF DELUXE CHECK PRINTERS. INC 

76 B YTE • JUNE 1985 



FREE CATALOG! 

Call Toll Free to receive your 
FREE 32 page, color catalog. 
1-800-328-5727 Ext 514 

in Minnesota 1-800-742-5685 



7761 



BOOK REVIEWS 



use, it could be a reasonable basic textbook. As a guide 
for software engineers in the field, the book is seriously 
lacking. Engineers will still have to derive most of their 
own specific application guidelines. 

Annette Hinshaw (POB 58063 5, lUlsa, OK 741 58) is a freelance 
technical writer. 



CP/M-86 USER'S GUIDE 
Reviewed by Paul W. Lowans 



This guide covers Digital Research's CP/M-86 family of 
operating systems, including MP/M-86, Concurrent 
CP/M-86, and Concurrent DOS. In the beginning of 
CP/M-86 User's Guide, author Jonathan Sachs, a computer 
consultant on technical writing and software development, 
suggests how to set up your system, discusses hardware, 
and introduces a basic implementation of commands. The 
rest of the book explains CP/M's more advanced features, 
covering in more detail the commands and utilities. An 
additional "Note to the System Manager" describes how 
to assist a CP/M novice in using the guide with hands-on 
experience. Sachs has written this book for people at dif- 
ferent levels of expertise. 

Appendixes cover the differences in various releases of 
CP/M systems. The book also contains a resource guide 
of names and addresses of computer-related publications, 
products, and accessories, as well as a listing of bulletin 
boards. Also included are specific notes for users of Com- 
puPro, DEC Rainbow, and IBM PC and PC XT computers. 

Sachs points out in the acknowledgments that he wrote 
the book while Concurrent CP/M-86 and Concurrent DOS 
were still being developed; thus, the syntax he explains 
could be in error. Since I work strictly with CP/M-86, 1 can- 
not determine any such errors; you should check this out 
before you buy the guide. 

A main drawback in the book is its organization by 
operation, not by family member. It is fragmented by 
having a little bit of material on each command for each 
system. Sachs jumps from one system to another, which 
can cause confusion. He begins one section with how to 
boot each system, then explains how to format a disk for 
each system, then how to manipulate files, and so on. 

This fragmentation forces the reader who wants to get 
the full story about an operating system to read the book 
from cover to cover, but jumping from system to system 
forces the reader to skip portions that do not apply to 
his CP/M family member. 

Conclusions 

Sachs uses plain English and simple examples to explain 
the operations of each system. Throughout the book are 
boxes titled "Things That Might Go Wrong"; they explain 
error messages and how to recover. Sachs begins the 
guide simply and moves on to the more complex. It is 
similar to taking a programmed book course whereby the 



Inquiry 136 



BOOK REVIEWS 



user is encouraged to try examples that build on each 
other in the learning process. 

Because the guide covers the family of CP/M. it is good 
for people who want to use more than one version. The 
appendixes are not only well written but prove to be good 
references for the user who has some familiarity with 
CP/M. However, Sachs does not explain the CP/M-86 
assembly language or the 8086 instruction set other than 
the syntax for ASM-86. 

Pau\ W. inwans (2709 South Union St., Spencerport, NY 14559) 
is an electronics engineering technician at Xerox Corporation in 
Rochester, New York. 



COMPUTER ANIMATION PRIMER 
Reviewed by ]eff Campbell 



Computer Animation Primer provides the armchair pro- 
grammer and would-be computer animator with a fas- 
cinating overview of a technology capable of bringing the 
illusion of reality to our most abstract imaginings. From 
the high-tech marvels of Star Wars special effects to BASIC 
programs to run on your personal computer, David Fox 
and Mitchell Waite explore how to become involved in 
computer animation today. 

Fox and Waite begin with a brief history of animation. 
Antique animation devices with such exotic names as 
Thaumatrope, Phenakistoscope, and Zoetrope almost 
seemed to anticipate their computerized futures. The 
discussion highlights the major advances by animation 
pioneers like Walt Disney, Walter Lantz, Max Fleischer, et 
al. The perspective concludes with an examination of how 
computer animation is used today in the film industry, 
medical research, sports, education, engineering, adver- 
tising, and arcade games. 

One section extensively describes the basic hardware 
used in computer animation. Brief explanations cover 
everything from the mechanics of creating movement and 
color on a cathode-ray tube to the light pens, digitizing 
tablets, and joysticks used to create and manipulate 
graphics images. The authors conclude this section with 
the observation that the "trickle-down" effect will continue 
to allow increasingly sophisticated equipment to become 
available to the personal computer user. 

In a chapter on computer-animation software and ap- 
plications, Fox and Waite focus on techniques for defin- 
ing graphics objects in ways that a computer can under- 
stand. Some rather complex algorithms come into play 
when images are rotated, translated, and scaled, yet these 
discussions do not bog down. The text is lucid, and the 
authors are not above an occasional humorous touch. 

Sample Programs 

The bulk of the book deals with actual programs for 
animating on a personal computer. The authors have 

[continued) 



Switch boxes are sold by many 
suppliers, but by far the two best 
value s are from M FT Enterprises." 




The MFJ RS-232 Transfer 
Switch. Buy it before the manu- 
facturer comes to his senses!" 



Joe Campbell, The RS-232 Solution 
Sybex Computer Books 

Now you can have reliable and affordabh 
and unplugging cables. You can easily switch 
letter-quality printer, modem, terminal 
Transfer Switches includes one to fit 
Look at these choices; then look at 
any price! Then ask them for 
show you, call MFJ . . . 

When you need to switch between two peripherals . 
computers sharing the same peripheral 




port expansion. Don't keep plugging 

our computer to your high-speed printer, 

RS-232 peripheral device. MFJ's range of 

your needs at a price you can afford. 

these prices. Compare others at 

their reviews. When they won't 



. or you need to have two 
Model 1240/679.95 

Never unplug a cable again. Now, with the push of a button you can go from dot matrix to letter- 
quality printing, or go from your printer 



US 




to your modem. MFJ's Model 1240 
Transfer Switch features a built-in 
transmit/receive switch allowing you 
two-way information flow. LEDs moni- 
tor important data lines while a built-in 
surge protector guards them. The 1240 
also acts as a null modem. All this for 
just J79.95.No wonder its MFJ's No. I seller! 

When you need 1 to-4 computers to share one peripheral or l-to-4 peripherals 
to share a common computer... Model 1243/$1 19-95 

The perfect office Transfer Switch. Don't buy multiple printers 
or modems. Just buy MFJ's Model 1243. Then you can connect 
one or all your computers to a single 
printer or modem. Or let your one- 
computer share up to Jour peri- 
pherals. Think of the money you'll 
save. LEDs monitor important data lines while a built-in surge 
protector guards them. Two-way communication is allowed with 
no conplicated software to learn: just push a button! 

Seven additional models to choose from. Each unit's casing 
is constructed from high-quality aluminum. Printed circuit boards 
assure maximum reliability by eliminating crosstalk, line interference and any need for wiring. 
All MFJ sivitcbes haw LEDs to monitor data lines and MOV surge protectors. Enhance the 
investment you've already made in your computer by choosing from the finest line of Transfer 
Switches on the market, including MFJ's IBM & Centronics Parallel Switches. 

You've got a lot of money tied up in your computer. Dont blow it! 

Your valuable computer and peripheral equipment can be damaged by electrical surges 
much snuiller than you'll been led to believe. Far more likely to happen is having your impor- 
tant data wiped out. These disasters, and Others, can be prevented with MFJ's Power Centers. 
Relay latches power off during power dropouts (Model 1 108). Multi-filters isolate equipment, 
eliminate interaction, noise and hash. MOVs suppress spikes and surges. MIT's Power 
Centers also have 3 isolated, switched socketpairs, with at least one unswitched socket (so 
you can add a clock, etc.), lighted power switch, fast-acting fuse, 3-wire, 6-foot cords; 1 5A, 
125V, and 1875 watts. Although each model is attractively 
housed in a protective aluminum casing, these are 
heavy-duty, commercial Equality power centers. 
Watch out for fancy names that cost twice 
as much, last half as long, and have 
half the features of MFJ's Power 
Centers. 




Model 1107 8 sockets, 
2 unswitched; $79-95 
Model 1108 7 sockets, 1 unswitched; 
with dropout relay; $99.95 
Model 1109 is like 1 107 but intelligent (switch 
on the device that's plugged into the control socket 
and every thing else comes on). $129-95 

There are other RS-232 Switches, Power Centers, and Computer Peripheral Pro- 
ducts available from MFJ. Call and talk with us about all your computing needs, and when 
you do, ask for out latest catalog. Both the call and the catalog are free. 

1-800-647-1800 

For technical /repair information, or in Mississippi, or outside the (Continental United States, 
please telephone . . . 

l-(601)323-5869or.ciex 

All MFJ product*; come with a double guarantee we think is unmatched. Order from MFJ 
and try any product for 30 days. If it doesn't satisfy your needs, just return it for a fitll refund, 
less shipping. If you keep it you can be assured of continued service with our One Year 
Unconditional Guarantee. 

Call toll-free 1-800-647-1800 and charge the products you need to your VISA or Master 
Card, or send a check or money order, plus 55.00 shipping, and our shipping department will 
promptly have your computer peripheral on its way to you 



53-4590 MFJSTKV 




MFJ Enterprises Inc. 
921 Louisville Road 
Starkville, MS 39759 



Inquiry 273 



IUNE 1985 -BYTE 77 



Inquiry 112 






THE TOP OF THE LINE IBM COMPATIBLE 



COMPUTER SYSTEM: 

NOVA basic system 64K entry model 

(Expandable to 256K) $645 

Includes: 1 drive controller, 1 64K mother 
board, 1 hitec keyboard, 1 130W power 
supply. 

NOVA PC 256K system ....$1295 

Includes: 1 hitec keyboard, 1 130W power 
supply, 2 360KB floppy drives, 1 Ast 6 
pack compatible multifunction board, 1 
color graphic card, 4-drive controller. 

NOVA XT 256K system $1935 

Includes: 1 hitec keyboard, 1 130W power 
supply, 2 360KB floppy drives, 4-drive con- 
troller, 1 10MB hard disk drive, 1 DTC hard 
disk controller card, 1 Ast 6 pack compati- 
ble multifunction board, 1 color graphic 
card. 

NOVA PC/XT BARE BOARD wfMANUAL .... $79.00 

DISK DRIVE: 

SHUGART SA455 'A drive $90.00 

leac 55B 'A floppy drive $115.00 

Miniscribe 10MB h.d. w/controller 

card and CABLE $650.00 

Miniscribe 20MB Hard Disk Drive . . . $695.00 
Miniscribe 30MB-60MB hard disk for AT 
(30ms seeking time, close loop) CALL 

UPGRADE KITS FOR IBM/AT: 

IBM/AT compatible CASE $165.00 

IBM/ AT compatible POWER SUPPLY (195W) 

$225.00 

IBM/AT compatible KEYBOARD CALL 

#4128 pigiback ram $22.00 



SUMMER SPECIALS 




HARDWARE: 

The best quality 130W power supply 
(110/220) same dimension as IBM 

$130.00 

Multifunction card $195.00 

Case for PC/XT $90.00 

Hitec Keyboard $130.00 

Color graphic card $150.00 

Hercules compatible 

monochrome card $185.00 

Floppy disk controller card 

with cable $100.00 

STREAM TAPE: 

Irwin 10MB stream tape for backup 

(Use standard floppy controller) $625.00 

MONITOR: 

Amdek 300 color monitor $245.00 

Amdek310A $143.00 

Amdek RGB 600 color monitor $445.00 

Amdek RGB 700 color monitor $495.00 

Amdek 710 double scan $545.00 



DEALER INQUIRIES WELCOME. - NOVA PC/XT KITS MILABLE 
COMPUTRADE COMPANY (in Roll Commercial Center) 

780 Trimble Road, Suite 605, San Jose, CA 95131 
Ifel. (408) 946-2442, Ifelex: 171605 

Hours: Mon-Fri 9:00 a.m.-6:00 p.m. 




LIGHTNING 
SPONGE 

MODEL 22 

• Prevents damage to modems, converters 
and terminals from direct strikes 

• Triple stage protection 

• Fast response time 

• Supports 4 circuits 

• Available with lugs or modular jacks, RJ-1 1 

TELESVTE 

A PUBLIC COMPANY 
Remark Division • Telebyte Technology, Inc. 270 E. Pulaski Rd., 
Greenlawn, NY 11740 • (516)423-3232 800-835-3298 



BOOK REVIEWS 



chosen to work with Atari BASIC because they think it has 
high potential for graphics and animation. The programs 
themselves are widely adaptable for use on other micro- 
computers. Fox and Waite provide instructions for creating 
customized character sets (or making do with the ones 
you have) and then animating them. They cover anima- 
tion loops; with this information you can create gallop- 
ing horses, a walking man, or an exploding bomb. Move- 
ment can also be suggested by changes in color. This is 
covered in a section on color-register animation. 

Separate chapters deal with player-missile graphics, 
employed in many arcade games, and using machine lan- 
guage in BASIC programs. The final chapter offers the in- 
formation necessary to create scrolling backgrounds. By 
applying this knowledge, it's possible to create some very 
impressive animated graphics. 

Visual Effects 

The layout of this book deserves special mention. Wide 
margins on the outside of each page not only contribute 
to an uncluttered page but allow the inclusion of four "flip 
book" computer-animation movies. By flipping through 
the upper corners of this book— both forward and back- 
ward—you can view approximate real-time segments of 
the animation discussed in the book. Fox and Waite use 
one of the oldest animation techniques to elucidate one 
of the newest. 

The book also has a 16-page color section. Appendixes 
include a compilation of all program listings reproduced 
in larger detail, a character-set grid, listing conventions for 
representing hidden (or invisible) characters, methods for 
storing machine-language routines in strings, parameter- 
table entries for black-box routines, source-code listings 
of assembly-language routines, and Atari hardware and 
shadow registers. 

Computer Animation Primer is the book for people who 
want action livening up their computer screens. 

]eff Campbell (9296 West 98th Place, Broomfield. CO 80020) is 
president of Campbell Photo/Graphics. 



THE COMPLETE HOME EDUCATOR: 
A COMPREHENSIVE GUIDE 
TO MODERN HOME-TEACHING 
Reviewed by Hunter Holmes Alexander 

Many parents despair of the public schools but few 
act to set things right. The Complete Home Educator: 
A Comprehensive Guide to Modern Home^eaching is a step-by- 
step handbook for teaching youngsters at home. It is also 
a book about the mediocrity of schools and how micro- 
computers can be used to improve education. 

Mario Pagnoni, a teacher for 1 3 years, decided to leave 
his school in order to teach his two sons math, computer 
skills, writing, spelling, and problem solving at home. He 

[continued) 



78 BYTE ■ IUNE 1985 



Inquiry 404 



^ 



A 



<& 



& 



.0 



<CV. 



Sizzling C 



The fastest C.The C that Microsoft 
developed to write its own software 
programs. Hot. 

So hot that we can make this claim: 
Virtually every program runs faster 
with Microsoft® C Compiler than with 
any other MS-DOS® C compiler. 

Efficient C. 

We give you everything you need to 
write code so tight your computer will 
scream. 

"Preliminary testing on the Microsoft C 
Compiler produced code that was signi- 
ficantly smaller than that produced by 
other C compilers'.' 
Paul Springer, Ashton-Tate. 

"We found the FAR pointer very helpful 
for situations where a mix of memory 
models offers the greatest efficiency." 
Robert Frankston, Software Arts. 

"The portability of the code between 
MS-DOS and XEMX® is great'.' 
Jim Bean, Peachtree Software. 

But it's really no surprise that our C 
stretches your micro to its limits. We 
wrote both the MS-DOS and the 
XENIX operating systems. 



*Purchase both Microsoft C Compiler and Microsoft Macro Assembler 
and get a $25 rebate direct from Microsoft. See package for details. 



Microsoft, MS-DOS and XENIX are registered trademarks and 
The High Performance Software is a trademark of Microsoft Corporation. 



For the name of your nearest Microsoft 
dealer, or to upgrade from Microsoft C 

°iwlte42£? c MICROSOFT. 

Caii (OUU J ^ZO-y ^UU. The High Performance Software 

In Washington State, Alaska, Hawaii 
and Canada, call (206) 828-8088. 
And make your programs really cook. 



Microsoft C Compiler Version 3.0 

Microsoft C Compiler 

♦Produces compact code and fast executables. 

♦ Implements register variables. 

♦Small, Medium and Large Memory model Libraries-Mix models 

with NEAR and FAR pointers. 
♦Transport source and object code between MS-DOS &l XENIX 

operating systems. 

♦ Library routines implement most of UNIX System V C library. 

♦ Choose from three Math libraries and generate in-line 8087/287 
instructions or floating point calls. 

— Floating point emulator (utilizes the 8087/287 if installed). 

— 8087/287 coprocessor support. 

—Alternate math package— extra speed on systems without an 
8087/287. 
♦Link routines written in Microsoft FORTRAN (V 3.3 or higher), 

Microsoft Pascal (V 3.3 or higher) or Microsoft Macro Assembler. 
♦Supports MS-DOS pathnames and Input/Output redirection. 

♦ File sharing and record and file locking is supported. 

♦ Do source level debugging, with the Symbolic Debug Utility, 
available separately with the Microsoft Macro Assembler Packaged 

Library Manager 

Create, organize and maintain your object module libraries created 

with Microsoft languages. 

Object Code Linker 

♦ Simple overlay linker combines relocatable object modules created 
using Microsoft Languages into a single program. 

♦ Link very large programs (over 1MB, using overlays). 
EXEPACK Utility 

A new utility to compress sequences of identical characters from an 
executable file and to optimize the relocation table. 
EXEMOD Utility 

A new utility used to modify the fields in the header according to 
the instructions given by the user in the command line. 
'C 1 Benchmarks— done on a Compaq Plus with 512k memory 
with no 8087. Program "SIEVE',' with register variables, 

Exec Time Code Size EXE Size 

Microsoft C :9.39 141 5,914 

Lattice C : 12.24 164 20,072 




IBM's 

best efforts are 

now going into 

Macintosh. 



Macintosh and IBM PC 
software. Compatible at last, 
thanks to MacCharlie, a rather 
innovative coprocessing system. 

And imagine the consequences. 

Nearly 10,000 IBM PC software 
programs designed for general 
business and specific applications 
in real estate, insurance, law, 
medicine, banking, etcetera, can 
now join forces with Macintosh's 
own popular programs. 

And, the myriad of IBM PC- 
compatible software adopts 
Macintosh's many beloved 
features, including desktop 
utilities such as the clipboard and 
the calculator. 

In addition, MacCharlie allows 



IBM PC and Macintosh data files to 
be exchanged. Talk about flexibility. 

But the good news gets better. 

You see, MacCharlie delivers 
hardware compatibility, as well. 
For example, IBM letter-quality 
printers can be easily used 
with Macintosh. 

Furthermore, 
MacCharlie 



now allows Macintosh to perform 
virtually any networking an IBM 
PC can perform. Even to the extent 
of tying in with IBM mainframes. 

In other words, your 
networking capability goes beyond 
the Apple family. 





The Macintosh keyboard slides 
right into MacCharlie" s keyboard. 
About as easy as slipping a letter 
in an envelope. 



Macintosh sets snugly 
beside MacCharlie, on 
a custom-fit pedestal. 



Once you plug in MacCharlie's 
power and keyboard cords, 
you're ready to enjoy a very 
happy marriage. 






How does it happen? As easily 
as slipping on penny loafers. 

In mere moments, MacCharlie 
combines the best features of the 
world's premier personal 
computers. 

And despite the fact that it 
turns one computer into two, 



MacCharlie adds but a handful of 
square inches to Macintosh's 
physique. 

In short, one of life's most 
perplexing decisions — whether to 
buy a Macintosh or an IBM PC- 
can now be made with the 
greatest of ease. 



Ask for MacCharlie at your local 
computer store. Suggested retail 
price for the 256K single disk drive 
model is only $1195, and just $1895 
for the 640K dual disk drive version. 

For more information, call 
Operator 14 toll-free, 1-800-531- 
0600. (In Utah, call 801-531-0600.) 



MacCharlie offers 256K RAM, with optional upgrade to 640K RAM: 360KB disk drive, and optional second disk drive. 




TM 



MacChailie 



THE BEST OF BOTH WORLDS. 

MacCharlie is a product of Dayna Communications, 
50 S. Main, Salt Like City, Ulan 84144 
Inquiry 133 

Apple is a trademark of Apple Computer, Inc. Macintosh is a trademark licensed to Apple Computer. Inc. IBM 
is a registered trademark of International Business Machines Corporation. 



Inquiry 251 



m LIONHEART 

BUSINESS & STATISTICAL SOFTWARE 



Explanatory books with professional compiled software; the new 
standard for statistical use. The .influential Seybold Report on 
Professional Computing has this to say about Lionheart "...our sen- 
timental favorite because of its pragmatic approach to the basic 
statistical concepts... The thinking is that the computer merely facili- 
tates the calculations; the important thing is to be able to formu- 
late a problem correctly and to determine what type of analysis 
will be most valuable." 



BUSINESS STATISTICS .$135 

EXPERIMENTAL STATISTICS 115 

EXPLORATORY DATA ANALYSIS 

FORECASTING AND TIME-SERIES 115 

BUSINESS AND ECONOMIC 

FORECASTING 135 

DECISION ANALYSIS TECHNIQUES 

LINEAR & NON-LINEAR PROGRAMMING . 7, 

• PERT & CRITICAL PATH TECHNIQUES . . . ' 

• MONTE CARLO SIMULATION 125 

• OPTIMIZATION 



PC/MS-DOS, CP/M (Apple and Macintosh formats slightly more 
expensive) Add $2 per book for shipping and handling. 

VISA, MasterCard, AMEX, Check 



P.O. Box 379, ALBURG, VT 05440 
(514) 933-4918 . 



BOOK REVIEWS 



TM 



StatPac 



The World's Best 

Micro Computer Based Statistical 

Analysis Package 



Forecast Plus 

Time Series Analysis Package 

The Business Forecasting Tool 
for the Non Statistician 



Call For Free Comprehensive Brochures 

1-800-328-4907 



WALONICK ASSOCIATES 

65QQ Nicollet Ave. S. Minneapolis, MN 55423 
[612]8BB-9D22 



TM 



used an Apple II+ as an aid in instruction. 

What tricks did he discover? Pagnoni advises home- 
schoolers to be the educational consultant for their 
children rather than the traditional pedagogue. He cites 
test scores to show that his sons, ages 7 and I0, learned 
more in the year he tutored them at home than in the 
years they endured in the traditional school with its 
regimentation and instructors who are sometimes 
underqualified. 

This book is written primarily for parents who want to 
take their children out of the school system or those who 
want to tutor their children after school. But it could 
benefit computerists who don't know about teaching, peo- 
ple who aspire to teach about computers, and computer 
businesspeople, as well as sociologists, salespeople, politi- 
cians, and people interested in school-board positions. 
Mostly it is for parents who know little about computers, 
as was the case with Pagnoni only a few years ago. 

Parent/Child Bond 

Pagnoni advises against forcing youngsters to learn 
something the way you learned it. He suggests that home- 
schoolers write to a private school for its curriculum. He 
recommends a list of read-aloud books and encourages 
parents and children to read aloud together. 

One advantage of home-schooling, Pagnoni says, is that 
it strengthens the parent/child bond since the parent and 
child spend more time together. Also, teaching will make 
parents feel more in charge of their children's education. 
Children taught at home generally test higher than those 
in public schools and have more self-esteem; Pagnoni says 
that students who have been taught at home can get into 
Harvard. 

The disadvantages of home-instruction include the pos- 
sibility of failure. Also, children could miss out on some 
peer-group experiences, although the author suggests 
ways to prevent this. 

Pagnoni discusses BASIC programming and word pro- 
cessing for novices. Appendixes cover sources for legal 
information, correspondence courses, and resources for 
learning programming. A subject index is included. 

The introduction endorsing Pagnoni's work is by John 
Holt, author of Growing Without Schooling and editor of a 
newsletter on home-schooling. 

The Complete Home Educator is entertaining and useful. 
Pagnoni shows how to put the fun back into schooling. 
More and more court cases are going in favor of home- 
schoolers, and "unfriendly" school boards seem to be get- 
ting poor publicity. Home education is a growing social 
movement and no longer seems as radical as it once did. 
About 40,000 Americans teach their children at home. 
Pagnoni's book provides them with a good model for 
home education with high technology. ■ 

Hunter Holmes Alexander (4520 King St. #404, Alexandria, VA 
22302) is BYTE's Washington correspondent, belongs to the 
Washington Apple Pi users club, and is a former teacher. 



82 BYTE • lUNE 1985 



Inquiry 421 



Finally, business computer 
software for the hard-nosed 



No one takes a harder look at 
software than small to mid-sized 
businesses. 

So take a long, hard look at 
The Accounting Solution™ a new, 
totally integrated software package 
from Business Tools, Inc™ 

You'll find its breakthrough fea- 
tures are designed to pay off where 
it counts— on the bottom line. 

Hard-nosed economy, $99.* 

Contrary to popular opinion, 
you don't need a small business 
loan to buy quality software. Not 
if you're buying The Accounting 
Solution. For $99, you get a 
language/data base manager with 
more hard-nose capabilities and 
speed than any program available 
at any price; $249 buys the 
language plus accounts receivable/ 
payable and general ledger; $399 
gets you all the above plus inven- 
tory control, sales order entry, 
purchase order entry and payroll. 
Even more good news for the 
budget minded— source code is 
included with applications. 

Easy for any hard-nose. 

The Accounting Solution is easy 




enough for the novice hard -nose 
to use within minutes of receiving 
the package. Yet it's also sophisti- 
cated, offering unlimited flexibility 
and opportunity to the hot- shot 
hard -nose. And it's designed to 
run on CP/M-80, MP/M-80, IBM 
PC and compatibles!* 

Multi hard-nose capability. 

The Accounting Solution never 



Duaniboa i uuua 



icounling 
Solutio 



Write or call: 

Business Tools, Inc. 

4038-B 128th Avenue SE 

Bellevue, WA 98006 

1-800-648-6258 

Washington State: 
(206) 644-2015 

Dealer inquiries welcome. 



stands in the way of progress. 
Thanks to multi-user capability, two 
or more hard -noses can use the 
same application at the same time. 

Hard-nosed flexibility. 

With The Accounting Solution, 
it's easy to change your mind 
because the source code is so 
simple to modify. Ready to grow? 
Great. You can change hardware 
without spending a dime on new 
software. 

Take it from hard-nose 
Phil Mickelson. 

Phil created The Sensible 
Solution ** a highly respected soft- 
ware package. Now he's offering 
the next step, another break- 
through: The Accounting Solution. 
It's simple. Sophisticated. Affordable. 
And backed by Phil's reputation 
and personal service. If you're 
looking for hard-nosed value and 
quality, you'll agree, The Accounting 
Solution is the only solution. 



' Suggested retail price. 
' 'CP/M-80 and MP/M-80 are registered trademarks of 
Digital Research, Inc.; IBM PC is a registered trade- 
mark of International Business Machines Corporation; 
The Sensible Solution trademark rights are claimed by 
O'Hanlon Computer Systems. 



Inquiry 65 



JUNE 1985 'BYTE 83 




TAR'S NEW 
SPREADSHEET 

PRINTERS: 

4 WAYS TO A 

BETTER 

BALANCE SHEET. 




SR-15™ features a 16K buffer and prints at 200cps 



84 BYTE • JUNE 1985 




or a better return on your com- 
puter investment, consider Star's new "S" 
series spreadsheet printers. 

They're faster— with 20% increased 
throughput and an unbeatable 16K memory. 
Andbetter-100% IBM® compatible, with 
prices that make these printers the best 
value in the business. 



TO 15" IN JUST 
.66 SECONDS 

No other printer gives 
you greater throughput-per- 
dollar than Star. With the highest-speed NLQ 
in its class. And the best print quality in the 
business. 

All our new business printers feature 
draft and near-letter-quality standard (no 
extra charge). So whatever the assignment, 
these printers come fully qualified. 



16KANDNOTA 
BIT LESS 




EASY AS 1-2-3 




Star's business 
printers are fully com- 
patible with IBM®- 
PC, Apple? and all 
compatibles. 

They're ready to run 
with hundreds of popular 
spreadsheet packages 
including 1-2-3,™ General Account- 
ing,™ dBase III™ and MultiPlan® Even inte- 
grated formats like Framework™ and 
Symphony.™ 

All Star printers are covered by a full one 
year warranty on parts and labor. Plus a net- 
work of factory- trained service centers. 

Faster. More memory. More flexibility. 
More compatibility. Greater reliability. The 
best print quality. And the best value in 
the business. 

Star's spreadsheet printers give you the 
best-looking financial statements you've 
ever seen. 



SD-15™ prints draft and NLQ 



On all Star's new 
business machines, 
the convenience of a 
16K buffer is stan- 
dard. No leading 
spreadsheet printer has 
more memory. So hooking 
up with a Star gives your system 
the power to process and print at the 
same time. 





SG-15 " includes 16K memory 

for spreadsheets 




THE POWER BEHIND THE PRINTED WORD® 

200 Park Avenue, New York, NY 10166 

Chicago, IL (312) 773-3717 • Boston, MA (617) 329-8560 

Irvine, CA (714) 586-8850 



All trademarks (except SG-10/15, SD-10/15, SR-10/15 and Star Micronics Inc.) are proprietary 
to or registered trademarks of companies other than Star Micronics, Inc. 



Inquiry 387 



JUNE 1985 'BYTE 85 



EVENT QUEUE 



}une 1985 

• C STUDIED 

C Language Workshops, 
various sites throughout the 
U.S. Workshops and semi- 
nars on C programming and 
issues. Contact Plum Hall 
Inc., 1 Spruce Ave., Cardiff, NJ 
08232, (609) 927-3770. ]une 

• FIX-IT WORKSHOP 
Computer Repair User Work- 
shops, various sites through- 
out the U.S. A one-day 
seminar on repairing com- 
puters. The fee ranges from 
$140 to $175, depending 
upon location. Contact 
Cascio School of Computer 
Technology, Suite B109-Q, 

2 580 San Ramon Valley 
Blvd., San Ramon, CA 
94583, (415) 829-5140. }une 

• CONFERENCES FOR 
MANUFACTURERS, USERS 

Conferences for Manufac- 
turers and Users from the 
Institute for Graphic Com- 
munication, various sites 
throughout the U.S. Planned 
are "Slidemaking with Com- 
puter Graphics" and "Digital 
Facsimile." Contact Richard 
D. Murray, Institute for 
Graphic Communication, 
375 Commonwealth Ave., 
Boston, MA 02115, (617) 
267-942 5. }une 

• SEMINARS FOR 
MANAGERS, PRO- 
FESSION ALS-Datapro 
Seminars, various sites 
throughout the U.S. Among 
the topics covered are 
microcomputer communica- 
tions, telecommunications, 
and local-area networks. 
Contact Datapro Research 
Corp.. 1221 Avenue of the 
Americas, New York, NY 
10020, (800) 2 57-9406. )une 

• SEMINARS AND 
SYMPOS1A-EDP Seminars 



and Symposia, various sites 
throughout the U.S. "Data- 
base Management and 
Fourth Generation Lan- 
guages for Personal Com- 
puters" and "Introduction to 
the UNIX System" are 
among the offerings. Fees 
range from $395 to $895. 
Calendar available. Contact 
Software Institute of 
America Inc., 8 Windsor St., 
Andover, MA 01810, (617) 
470-3880. June 

• PROFESSIONAL 
DEVELOPMENT-Intensive 
Seminars for Professional 
Development, various loca- 
tions in the Boston metro- 
politan area, Syracuse, NY, 
and Saddle Brook, NJ, Com- 
puter, management, and 
manufacturing seminars. 
Catalog available. Contact 
Kathy Shaw, Office of Con- 
tinuing Education, Worcester 
Polytechnic Institute, Higgins 
House, Worcester, MA 
01609, (617) 793-5517. }une 

• MICRO WORKSHOPS 
Microcomputer Workshops, 
various sites throughout the 
U.S. and Canada. More than 
20 workshops for all levels 
of expertise. Contact 
Rhonda Carney, Intel Corp., 
Customer Training, 27 In- 
dustrial Ave., Chelmsford, 
MA 01824-3688, (617) 
256-1374. ]une 

• HOME, OFFICE 
COMPUTING-New Olden 
Spring and Summer Com- 
puter Workshops, New York 
City. Introductory and ad- 
vanced workshops on per- 
sonal, executive, and 



secretarial computing. Fees 
range from $4 5 to $400, 
depending upon duration. 
Contact The Olden Com- 
puter Workshops, 1265 
Broadway, New York, NY 
10001, (212) 685-1234. 
]une 

• SEMINAR, WORKSHOP 
Personal Computers and the 
Mainframe Connection; Ad- 
vanced Applications Tech- 
niques: Using Lotus 1-2-3 
Macros and Functions, 
various sites throughout the 
U.S. For information on 
these seminars, contact 
Data-Tech Institute, Lakeview 
Plaza. POB 2429, Clifton. NJ 
07015. (201) 478-5400. ]une 

• SUMMER SEMINARS 
Summer Seminar Series, 
Rochester Institute of Tech- 
nology, NY A series of one- 
week seminars. Titles include 
"Introduction to Linear Sys- 
tems and Digital Signal Pro- 
cessing" and "Advanced 
Digital Logic." Contact 
Yvonne Fish, School of Engi- 
neering Technology, 
Rochester Institute of Tech- 
nology, One Lomb Memorial 
Dr., POB 9887, Rochester, 
NY 14623, (716) 475-2915. 
}une 

• Al. EXPERT SYSTEMS 
BRIEFING— Artificial Intelli- 
gence and Expert Systems: 
What Users and Suppliers 
Must Know Today to Deploy 
These Technologies as Pro- 
fitable Strategic Corporate 
Resources Tomorrow, Boston 
and Framingham, MA. A 
one-day executive briefing. 
The fee is $790. Contact Ms. 



IF YOU WANT your organization's public activities listed in BYTE's Event 
Queue, we need to know about them at least four months in advance. Send 
information about computer conferences, seminars, workshops, and courses 
to BYTE, Event Queue. POB 372, Hancock. NH 03449. 



Lee Burgess, Professional 
Development Programs, 
Rensselaer Polytechnic In- 
stitute, Troy Building, Troy, 
NY 12180-3590, (518) 
266-6589. )une-\uly 

• DATA SWITCHING 
Distributed Data Switching 
Seminar, various sites 
throughout the U.S. A one- 
day seminar on the tech- 
nology and application of 
distributed data switching in 
telecommunications. The fee 
is $395. Contact Timeplex 
Seminars, 400 Chestnut 
Ridge Rd., Woodcliff, Nj 
07675, (201) 930-4600. 
]une~]uly 

• INFO MANAGEMENT 
SEMINARS-NYU Seminars 
on Information Manage- 
ment, various sites through- 
out the U.S. On the agenda 
are "Legal Issues in Acquir- 
ing and Using Computers" 
and "Networking Personal 
Computers." Contact School 
of Continuing Education, 
Seminar Center, New York 
University, 575 Madison 
Ave., New York, NY 10022, 
(212) 580-5200. ]une-]uly 

• CAD COURSE 
Computer-Aided Design, Col- 
orado State University, Fort 
Collins. Three one-week 
courses with participants 
using a high-performance 
dynamic graphics machine. 
The fee is $800. Contact 
Professor Gearold Johnson, 
Center for Computer- 
Assisted Engineering, Col- 
orado State University, Fort 
Collins. CO 80523, (303) 
491-5543. ]une- August 

• ENGINEERING CON- 
FERENCES-Engineering 
Summer Conferences, 

{continued) 



86 BYTE • JUNE 1985 



THE PROFESSIONAL'S CHOICE 



Lotus 
1-2-3 

CaU 


Lotus 
Symphony 

CaU 



dBase III I ErameWork MultiMate 

$349 *349 *S49 



Word 
Perfect 

*309 



Software 



Word Processing Editors 

FANCYFONT $139 

FINAL WORD $189 

MICROSOFT WORD $229 

MULTIMATE $249 
OFFICE WRITER/ 

SPELLER $279 

PFS: WRITE $ 95 

SAMNA WORD III $279 
VOLKSWRITER 

DELUXE $159 
VOLKSWRITER 

SCIENTIFIC $279 
THE WORD PLUS 

(OASIS) $105 

WORD PERFECT $209 

WORDSTAR $199 

WORDSTAR 2000 $269 

WORDSTAR 2000+ $309 

WORDSTAR PRO $259 

XYWRITE II+ $199 



Spreadsheets/ 

Integrated Packages 

ELECTRIC DESK $209 

ENABLE $359 

FRAMEWORK $349 

LOTUS 1-2-3 $Call 

MULTIPLAN $135 

OPEN ACCESS $359 

SAMNA PLUS $379 

SMART SYSTEM $559 
SPREADSHEET 

AUDITOR $ 79 

SUPERCALC3 $179 

SYMPHONY $Call 

TKI SOLVER $269 

Languages/Utilities 

CONCURRENT DOS $189 

C86C COMPILER $299 
DIGITAL RESEARCH 

C COMPILER $219 

DR FORTRAN 77 $219 

LATTICE C COMPILER $299 
MICROSOFT C 

COMPILER $249 

MS BASIC COMPILER $249 

MS FORTRAN $239 

NORTON UTILITIES $ 69 

TURBO PASCAL $ 59 



Database Systems 
ALPHA DATA BASE 

MANAGER II 
CLIPPER 
CLOUT V 2.0 
CONDOR III 
CORNERSTONE 
DBASE II 
DBASE III 
INFOSTAR+ 
KNOWLEDGEMAN 
PFS: FILE/PFS: 

REPORT 
POWERBASE 
QUICKCODE III 
QUICKREPORT 
R BASE 4000 

Project Management 
HARVARD PROJECT 

MANAGER 
HARVARD TOTAL 

PROJECT MANAGER 
MICROSOFT 

PROJECT 
PERTMASTER 
SCITOR PROJECT 

5000W/GRAPHICS 
SUPERPROJECT 
TIMELINE 

Desktop Environments 
DESK ORGANIZER 
SIDEKICK 
SPOTLIGHT 

Accounting 

BPI 

GREAT PLAINS 
IUS EASYBUSINESS 
ONE WRITE PLUS 
OPEN SYSTEMS 
PEACHTREE 
REAL WORLD 
STATE OF THE ART 
STARACCOUNTING 

PARTNER 
STAR ACCOUNTING 

PARTNER II 

Personal Finance 
DOLLARS AND 

SENSE 
HOWARD TAX 

PREPARER 85 
MANAGING YOUR 

MONEY 



$209 

$269 

$159 
$549 

$259 
$199 
$259 



$129 
S 45 
$109 



$329 
$479 
$279 
$199 
$379 
$299 
$469 
$389 

$249 

$549 



$119 
$195 
$129 



Graphics/Statistics 
ABSTAT 
AUTOCAD 
BPS BUSINESS 

GRAPHICS 
CHARTMASTER 
CHARTSTAR 
DR DRAW 
ENERGRAPHICSW/ 

PLOTTER 
EXECUVISION 
GRAPHWRITER 

COMBO 
MS CHART 
OVERHEAD 

EXPRESS 
PC DRAW 
PC PAINTBRUSH 
PFS: GRAPH 
SIGNMASTER 
STATPAK-NWA 
STATPAC- 

WALONICK 
SYSTAT 



$279 
$1475 

$229 
$239 
$209 
$199 

$279 
$259 

$359 
$159 

$139 
$259 
$ 69 
i 95 
$179 
$329 

$349 
$419 



Professional Development 
EXPERTEASE $Call 

MANAGEMENT EDGE $159 
SALES EDGE $159 

THINK TANK $119 



Communications/ 
Productivity Tools 

CROSSTALK 

PROKEY 

RELAY 

SMARTCOM II 



$105 
$ 89 
$ 99 
$109 



Display Boards 
EVEREX GRAPHICS 

EDGE $329 

HERCULES GRAPHICS 

CARD $299 

HERCULES COLOR 

CARD $169 

PARADISE MODULAR 

GRAPHICS $275 

PARADISE 

MULTIDISPLAY CARD $295 
PERSYSTBOB $449 

PRINCETON SCAN 

DOUBLER $Call 

SIGMA COLOR 400 $559 

STB GRAPHICS 

PLUS II $309 

TECMAR GRAPHICS 

MASTER $479 

TSENG ULTRA PAK $399 

TSENG ULTRA PAK-S $349 



Networks 

AST PC NET $CaH 

CORVUS NET $CaM 

ORCHID PC NET $Call 

3 COM $Call 



Mass Storage/Backup 
IOMEGA BERNOULLI 

BOX $2695 

MT25 TAPE BACKUP $885 

TALLGARSS TG5025 $2945 

SYSGEN IMAGE $850 

SYSGEN OICFILE $Call 



Input Devices 
KEYTRONIC 5151 
KOALA 

MICROSOFT MOUSE 
PC MOUSE W PAINT 

Emulation Boards 
AST 

CXI 3278/9 
IRMA 
IRMALINE 
1RMAPRINT 
QUAD 3278 

Modems 
AST REACH 1200 
HAYES 1200 
HAYES 1200B 
HAYES 2400. 
VENTEL 1200 
HALF CARD 



$179 
$Calt 
$139 
$159 



$Call 
$950 
$799 
$999 
$Call 
$949 



SCall 
$389 
$365 
$609 

$379 



Hardware 4 



Displays 
AMDEK310A 
PRINCETON HX-12 
PRINCETON MAX-12 
PRINCETON SR-12 
QUADRAM 

AMBERCHROME 
TAXAN 122 AMBER 
TAXAN 420/440 
ZENITH 124 AMBER 
ZENITH 135 COLOR 



$169 
$459 
$179 
$599 

$179 
$159 
$399/599 
$145 
$Cril 



Printers/Plotters 
C. ITOH 

DIABLO 620/630 
EPSON FX-80+ 
EPSON FX-100+ 
EPSON LQ-1500 
HP 7475A PLOTTER 
JUKI 6100 
NECP3 COLOR 
NECP3 
NEC 2050 
NEC 3550 
OKIDATA 84P/93P 
PANASONIC 
QUME SPRINT 1155 
STAR SG/SR/SD 
TOSHIBA PI340 
TOSHIBA P351 



$Call 
$Call 
$349 
$499 
$999 
$Ca!i 
$419 

$1099 
$799 
$769 

$1139 

$729/619 

$Call 

$1569 
$Call 
$779 

$1279 



Multifunction Boards 

AST ADVANTAGE $375 

AST 6 PAK PLUS (64K) $259 

AST 6 PAK PLUS (384K) $339 
ORCHID BLOSSOM 

(64K) $289 

ORCHID PC TURBO $739 
PERSYST TIME SPECTRUM 

(64K) $259 

QUADBOARD (OK) $229 

QUADBOARD (384K) $329 
TECMAR CAPTAIN 

(64K) $Cali 
TECMAR JR CAPTAIN 

(128K) $329 

TECMAR JR WAVE (64K) $249 

TECMAR MAESTRO $429 

TECMAR WAVE (64K) $209 

Accessories 
CURTIS SURGE 

PROTECTORS $CaJI 
DATASHIELD BACKUP 

POWER $Cafl 
GILTRONIX A/B SWITCH $Call 
MICROBUFFER INLINE 

(64K) $264 
MICROFAZER INLINE 

(64K) $219 

64K RAM SET $25 

256K RAM SET $ 79 

8087 MATH CHIP $150 



*CALL FOR SHIPPING COSTS 




Tseng 
Ultra Pak 

$399 


Smartmodem 
1200B 

$365 


Smartmodem 
2400 

$609 




LOWEST PRICE 
GUARANTEE!! 

We will match current 

nationally advertised 

prices on most products. 

Call and compare. 



fie 



el 



Diskette 

Library 

Case 

with your order 




In New York State call (718) 438-6057 



TERMS: 

Checks— allow 14 days to clear. Credit processing— add 3%. COD orders— cash, 
M.O or certified check— add $3.00. Shipping and handling UPS surface— add $3.00 
per item (UPS Blue $6.00 per item). NY State Residents— add applicable sales tax. 
All prices subject to change. 



Iffl Tlffl 



MON.-THURS. 9:00AM-8:00PM 
SUN. & FRI. 9:00 AM-4:00 PM 




/ Softline Corporation 
/// P.O. Box 729, Brooklyn, N.Y. 1 1230 
^ TELEX: 421047 ATLN Ul 



IUNE 1985 -BYTE 87 



Inquiry 368 



ELEPHANT II SPR 2800 




$399.00 U.S. 

(F.O.B. Edmonton, Canada) 

LOW COST PROM PROGRAMMING 

• Use with Printers, Video Displays, Personal Computers. Main 
Frame Computers. 

• Base price includes CSA UL approved wall adaptor, 8K RAM, 
2716/2516, 2732,2732A,2764 EPROM Personality Modules. 

• Purchase Personality Kits for the 2532, 2564, 2764A, 27128, 
27128A, 27256. 

• RS232 Interface to View, Upload, Download, Modify, Examine, 
etc. 

• Extremely easy to use, no complicated key sequences. 

• In Stand Alone mode copy, verify and check for all locations 
erased. A proven product, successorto the Elephant I, SPR 2700 
(for 2708, 2716,2732). 

• Accept VISA or Money Order 

• Distributor Inquiries Welcome. 

SHERREX SYSTEMS LIMITED 

4196 - 93 Street, Edmonton, Alberta Canada. 
T6E 5P5, (403) 462-4085 



MAX. IBM® AT/PC $995 
COMPATIBILITY 



Mllll 



PC-2001* 
Made In USA COMPLETE SYSTEM 

*OEM BASIC System $555 (Minimum Order 10 Units) 

♦PC-2001 Complete System $995 (Dealers at Quantity 2) 

*XT-2001 10 MB Complete System $1695 (Dealers at Quantity 2) 

*AT-7000 Call For Evaluation Unit $ (Approx. $2000 Off IBM Pricing) 

PC-2001 Partial Features: (Dealers Please Call For Details) 
• Multi-layered Mother Board • RAM Memory Upgradable to 640K • K«400 or 
K-9600 Keyboard • TEAC Drive, & Controller • 2 Serial & 1 Parallel Ports • Buns 
Lotus 1-2-3, Symphony, Fllgh't Simulator and thousands more 



^DEALER INQUIRIES 
INVITED 

PLEASE CALL FOR 
DEALERS NEAREST \ 
YOU 



■Ac 



Other OEM Accessories: 
♦20 MB HARD DISK 
♦TAPE BACK UP 
♦8 SLOT MOTHER BOARD 
♦AT-7000 MOTHER BOARD 




^^^ W~ t te 2™ e imper,al hwy - bldg - a 

^B m T JUL I J 1 imP brea;-ca 92621 

IBM is a ^^| ^m 
lemark oflfflnCori 



£1U CORPORATION ggWW 



5794691 



EVENT QUEUE 



Chrysler Center for Continu- 
ing Engineering Education. 
University of Michigan, Ann 
Arbor. Conferences in such 
areas as biomedical, 
chemical, civil, computer, 
electrical, and environmental 
engineering. Contact Engi- 
neering Summer Con- 
ferences. 200 Chrysler 
Center, North Campus, Uni- 
versity of Michigan, Ann 
Arbor, MI 48109, (313) 
764-8490. June-August 

• COMPUTER SHORT 
COURSES-The Fifteenth 
Annual Institute in Computer 
Science, University of 
California, Santa Cruz. 
Among the offerings are 
"Relational Database Man- 
agement," "Data Storage," 
and "Computer-Aided Geo- 
metric Design." Contact Sally 
Thomas, University of 
California Extension, Santa 
Cruz, CA 95064, (408) 
429-4534. ]une- August 

• SOFTWARE COURSES 
Software Short Courses, 
various sites throughout the 
U.S. Among the courses are 
"UNIX: A Hands-on Intro- 
duction," "Programming in 
C: A Hands-on Workshop," 
and "Software Requirements, 
Specifications, and Tests." 
Contact Integrated Computer 
Systems, 6305 Arizona 
Place, POB 45405, Los 
Angeles. CA 9004 5. (800) 
421-8166; in California, (800) 
352-8251 or (213) 417-8888; 
in Canada, (800) 228-6799. 
}une- August 

• DEVELOPMENT 

SEMINARS-Professional 
Development Seminars, 
various sites around Boston, 
MA. A brochure describing 
one- and two-day seminars 
on computer competence, 
management, sales, and 
finance is available. Contact 
Boston University Metro- 
politan College, 735 Com- 
monwealth Ave., Boston, MA 
02215. (800) 255-1080; in 
Massachusetts, (617) 
738-5020. ]une-Septernber 



• SME CONFERENCES, 
EXPOS— Conferences and 
Expositions from the Society 
of Manufacturing Engineers, 
various sites throughout the 
U.S. For a calendar, contact 
the Society of Manufacturing 
Engineers, Public Relations 
Department. One SME Dr., 
POB 930, Dearborn, MI 
48121, (313) 271-0777. 
June-November 

• SNA SEMINAR 
IBM's Systems Network 
Architecture (SNA) Seminar, 
various sites throughout the 
U.S. Covers such topics as 
local-area networks, SNA 
distribution services, and 
personal computer connec- 
tions. Contact Communica- 
tions Solutions Inc., 992 
South Saratoga-Sunnyvale 
Rd. San lose, CA 95129, 
(408) 725-1568. )une~Decernber 

• PICK EDUCATION 

Pick System Educational 
Series, various sites through- 
out the U.S. and Europe. 
Seminars and workshops on 
the Pick operating system. 
Contact JES & Associates 
Inc., POB 19274, Irvine. CA 
92714, (714) 786-2211. 
]une-December 

• MUMPS MEETING 
The Fourteenth Annual 
Meeting of the MUMPS 
Users' Group, McCormick 
Center Hotel, Chicago, IL. 
Tutorials, workshops, site 
visits, discussions, and ex- 
hibits. Contact MUMPS 
Users' Group, Suite 510, 
4321 Hartwick Rd, College 
Park, MD 20740, (301) 
779-6555. ]une 10-14 

• ROBOTIC STRATEGIES 
Robot Manipulators, Com- 
puter Vision, and Intelligent 
Robot Systems, University of 
Stirling, Stirling, Scotland. 
The emphasis is on develop- 
ing strategies for solving 
robotic-sensing, spatial- 
reasoning, and manipulation 
problems. Contact Director 
of Summer Session, Room 

[continued) 



88 BYTE • JUNE 1985 



Inquiry 434 for End-Users. 
Inquiry 435 for DEALERS ONLY. 




AT Power/XT Prices 

Our new Zorro AT systems give you: on 60286 CPU operating or o quick 6 Mz.. eight 
expansion slots, a clock/calendar wirh boftery backup, o 1 .2 Megobyre 5 1 /4" floppy disk drive, 
ond IBM- AT comporibillry. 

Zorro AT's also include options that would cost you almost $1000 from IBM: a O'o'OJS drive to 
give you PC/XT media compatibility, a copy of DOS -3.0 to get yoi/ started, and a full 512K of 
RAM on the main board. 

Zarro AT-20's feoture o 20 Mb. Winchester drive from NEC. ond you 3 rill hove room to add a 
fourth drive or tope backup. 

To be quite fronk. we believe our Zorro AT's ore built better, and we back each system with a 
limited warranty for o full year. Our quality and features invite comparison, our prices speok for I 
themselves. 

Zorro AT $2695 I 

Zorro AT-20 $3695 




The Silver Fox Trots 
Through Lotus Like 1,2,3 

The Silver Fox is not IBM-PC compatible yet it runs hundreds of MS-DOS programs including 
Lotus 1,2,3, dBASE II. Multiplan, and even Right Simulator. 

The Silver Fox does not hove IBM compatible expansion slots but you con economically odd 
printers, serial ports, modems, 10-40 Mb. hord disks, clock/calendar cords, RAM, joysticks, an 
8087 co-processor, ond more. 

What makes the Silver Fox unique, however, isn't what you con odd to it, but what comes 
wirh it. Each Silver Fox comes with on 8088 CPU. 256K of RAM. four video ports, and a printer 
port. Plus you get more than twice the storage of o standard PC. 1 .6 Megabytes on dual 5 1 /4" 
floppys, and the Fox will read and write to standard 1 60K. 320K. and 360K IDM-PC formats. 

Standard equipment also includes o better keyboard, a 12" high resolution monitor with o 
full 25x80 display, and we bock each Silver Fox with o one year limited worronry. 

Were rhls not enough each Silver Fox comes with the best free sofrwore bundle In the 
business including: MS-DOS 2.1 1 /HAGEN-DOS 2.1 1 . DOS Tutor. Wordstor 3.3, Easy Writer. Spell. 
Moil Track, PC File III. FILEDASE, ColcStor, gomes, graphics, utilities, and two BASIC languages. 

Because computer sales usually slow down during the summer we've gjven you an extra 
incentive to buy o Fox by lowering our prices. If you want to get the most for your computer 
dollar, call our machine of 1-800-FORAFOX. leave your name and address at the beep, and 
we'll send you o Silver Fox booklet that will fell you how ir con. 

Silver Fox $1297 

Color Fox $1497 



Altos 




High-performance, Xenix-based, multi-user sysrems from 
lAltos-world leaders in mulfi-user sysrems and applicarions 
|sofrware. 

As part of TRW's marketing support group we can have your 
lAlfos system installed on your site (additional charge). 

Altos systems are easy to expand, and with shared printers 
land hard disks are cost competitive with multiple single user 
I systems, Coll for additional pricing and availability. 

1486-20 $4539 

1586-40 $7249 

|986-40 $8829 

Alms Acer $2779 

"printers 

■■f\ 





EpsonFX-80+ "WC$180 off 

LX-80 "^4£$100 off 

|Okidata92 $2WC$125off 

|Okidata93 D9C$210off 

|Okidoto84 Coll 

|5tar5G-10 $239 

SrorSR-15 $599 

] Panasonic 1091 $298 

I Toshiba 1340 $579 

|Toshiba351 $1319 

LETTER QUALITY 

I Powertype $299 

Juki 6100 $399 

Juki 6300 $719 

Silver Reed 500 $299 

Silver Reed 550 $409 

Silver Reed 770 $724 

Diablo Call 

NEC Call 

| Doisywrifer 2000 $824 

I HOUSTON INSTRUMENTS 

DMP-29 $1795 

DMP-40 $745 

DMP-41 $2340 

other models Call 



P 

W 

I The Bernoulli Box: 

■ Hard disk capacity and performance 

■ Removable cartridge economy and convenience I 

■ Cartridge convenience "Flexible disk economy I 

■ Winchester capacity ■Unparalleled reliability 

1 10Mb $18391 

20 MD $2529 

[5 Mb./Mac $13791 



Columbia 4220 or 2220 



Now! 

Fox Jrr 

$899 



S1698 




/ V 



Seottsdale Systems L r d 

617 N. Scortsdale Road, Suite D, Seottsdale, Arizona 85257 



(602)941-5856 



'A' 



Call 8-5 Mon.-Fri. 



m/\m We participate in arbitration for business and customers through the Better 
Business Bureau of Maricopa County. 



SINCE 1980 



TELEMARKETING ONLY: If you pion to stop by please phone ahead. Prices listed are for | 

cash. P.O.'s from Fortune 1200 companies and universities with good credit add 2% / 

Mastercard and Visa add 0% / Arizona residents add 6% sales tox / Shipping extra / All 
| items are new with manufacturers warranty / Returned merchandise subject to 20% 

restocking fee / Personal or company checks fake up to weeks to clear / No COD's or I 
| APO's. Trademarks: Silver Fox. HAGEN-DOS, and Zorro AT, Seottsdale Systems, Ltd.; 

Wordstar and CalcStar, Micropro International; MS-DOS. and Multiplan, Microsoft Corporation; 

FILEBASE. EWDP Sofrwore. Inc.; dBASE II. AshtonTate; IBM-PC. IBM-PC DOS, ond IBM-AT, 

International Business Machines. 



WYSESO's 

$449 




1200 BPS Modems 

Volksmodem 12 $199 [ 

Password $209 

Prometheus $31 5 [ 

Hayes 300/1200 $429 J 



call for details 



O OLYMPIA 




To LQ or NLQ 
That is the Question 

Whether 'tis noblerro zip along at 165 
CP5 in draft mode and use an incredible 
1 7x1 7 NLQ mode for letters, or produce 
letter perfect outpur- Olympia gives you a 
choice. 

Compare the Olympia HP to the popular 
Epson FX-60 or the Okidaro 92. The HP is 
slightly faster, noticeably quieter ond 
includes push-type tractors (and friction 
feed) as standard equipment. 

But the NP's really big feature is its fine 
script mode which is superior to the Okidato 
92, and even berter than on FX-80+ wirh o 
S 199 "NLQ" option. To quote PC magazine. 
"The (NP) printer is o sure thing if ir foils into 
your price range - and even if it doesn r . . ' 

If you're looking for the best buy in a 
true lerter-quoliry printer (like the Silver 
Reed 550 or the Juki 6100) the Olympio 
RO is for you. The RO is a 14 CPS. wide- 
carriage, that comes with both friction and 
tractor feed, serial and parallel ports, ond 
quality thot has mode Olympia a world 
leader in typewriters. 
To LQ or NLQ is up ro you, the price for 
either rhe Olympio RO or rhe NP with o 1 0' 
shielded cable ro your computer is only: 



$344 



JUNE I985 -BYTE 89 



ADVERTISEMENT 



New C Books from Plum Hall 



The business of Plum Hall is C Language: training 
courses, video-tape presentations, and authoritative 
books. We are introducing two new advanced 
books: Efficient C, and Reliable Data Structures in 
C. 

Efficient C (Thomas Plum and Jim Brodie, 1985) 
provides a small suite of C functions into which the 
reader can "plug in" any C statement and deter- 
mine how many microseconds of CPU time it takes 
to execute. Expanding upon this technique, the 
book presents tables of CPU time and code space 
for C operators, control structures, and function 
calls. These allow the reader to make fairly accu- 
rate estimates of the resources that a program will 
take, without resorting to assembler listings. The 
book discusses optimization techniques performed 
automatically by several compilers, as well as those 
techniques which can be effectively used by the 
programmer. 

Plum and Brodie are respectively Vice -Chair and 
Chair of the ANSI committee X3J11 which is stan- 
dardizing C language. 

Reliable Data Structures in C (Thomas Plum, 1985) 
describes techniques for a "no surprises" usage of 
pointers, structures, and files. Standard data struc- 
ture techniques like stacks, queues, and trees are 
presented using reliability techniques, along with a 
complete menu -and -forms screen generator. 
Relevant information about the draft ANSI stan- 
dard for C is presented to allow programmers to 
write compatibly with existing and forthcoming 
compiler and interpreter environments. 

Two other well -received books from Plum Hall: 

Learning to Program in C (Thomas Plum, 1983) 
presents the fundamentals of C. Presupposing only 
an acquaintance with computers, it covers C up 
through the basics of pointers and structures. 
C Programming Guidelines (Thomas Plum, 1984) 
provides a style standard for projects working in C 
language. Arranged in "manual -page" reference 
format, it gives rules for using variables, data types, 
operators, expressions, statements, functions, files, 
libraries, and documentation. 

Each book is $25.00 (plus 6% within NJ), $30.00 
outside USA (airmail). We ship within two days 
when ordered by phone or mail with credit card, 
purchase order, or check. Plum Hall Inc also pro- 
vides introductory and advanced training in C, 
both at public courses and in -house. Please call or 
write for our public course schedule and inhouse 
course details. 

Plum Hall Inc 

1 Spruce A v 
Cardiff NJ 08232 
609-927-3770 



EVENT QUEUE 



El 9-3 56, Massachusetts 
Institute of Technology, 
Cambridge, MA 02139. 
]une 10-14 

• CARACAS EXPO 

The First International Com- 
munications and Computer 
Exhibition and Technical 
Conference: VenCom '85, 
Caracas Hilton Hotel, 
Caracas, Venezuela. Contact 
VenCom 85. Suite 219, 3421 
M St. NW, Washington, DC 
20007, (703) 685-0600. 
]une 11-14 

• UNIX. C CONFERENCE 
USENIX Conference and 
Vendor Exhibition, Marriott 
Hotel, Portland, OR. USENIX 
is a nonprofit organization 
promoting UNIX. UNIX-like 
systems, and C-language 
programming. Contact 
USENIX Conference Office, 
POB 385, Sunset Beach, CA 
90742, (213) 592-3243. 

)une 11-14 

• NETWORK CONTROL 
AND MANAGEMENT-Net- 
work Management/Technical 
Control, Santa Clara Mar- 
riott, Santa Clara, CA. 
Diagnostic and test instru- 
ments will be displayed. 
Contact Louise Myerow, CW 
Conference Management 
Group, 375 Cochituate Rd.. 
POB 880, Framingham, MA 
01701, (800) 225-4698; in 
Massachusetts, (617) 
879-0700. June 12-13 

• COMPUTERS IN 
CLINICAL LABS-Clinical 
Laboratory Computers: Sym- 
posium 1985, The Towsley 
Center, University of 
Michigan, Ann Arbor. Con- 
tact Dove Margenau, Office 
of Continuing Medical 
Education, The Towsley 
Center, Box 057. University 
of Michigan Medical School, 
Ann Arbor, MI 48109-0010, 
(313) 763-1400. )une 12-14 

• CLINICAL COMPUTING 
Computing in Clinical 
Laboratories: The Fifth Inter- 
national Conference, Stutt- 



gart, Federal Republic of 
Germany. Topics include 
databases, data presenta- 
tion, and expected develop- 
ments. Demonstrations and 
exhibits. Contact PD Dr. Chr. 
Trendelenburg, Katharinen- 
hospital KG. Kriegsberg- 
strasse 60, D-7000 Stuttgart 
I. Federal Republic of Ger- 
many; tel: (07 1 1) 20 34-4 82. 
}une 12-14 

• INFO MANAGEMENT 
INFO/West: The Western In- 
formation Management Ex- 
position and Conference, 
Convention Center, Ana- 
heim, CA. TYade show for 
executives and data- 
processing and manage- 
ment-information system 
managers. Contact INFO/ 
West, 999 Summer St. Stam- 
ford, CT 06905, (203) 
964-8287. June 12-14 

• FORTH CONFERENCE 
The 1985 Rochester FORTH 
Conference, University of 
Rochester, Rochester, NY. 
The focus will be on soft- 
ware engineering and man- 
agement. Contact Ms. Maria 
Gress, Institute for Applied 
FORTH Research, 70 Elm- 
wood Ave., Rochester, NY 
14611, (716) 235-0168. 

]une 12-15 

• ELECTRONIC 
PUBLISHING 

Pages That Fly, New York 
University, New York. Ses- 
sions of interest to telecom- 
munications experts, pub- 
lishers, and corporate and 
educational professionals. 
Contact Arlene Krebs, New 
York University, 51 Press 
Building, New York, NY 
10003, (212) 598-3993. 
}une 13-14 

• LOGICAL MACHINES 
The Second Annual Con- 
ference on Logic, Logic 
Machines, and Public Educa- 
tion, University of Houston- 
Clear Lake, Houston, TX. 
Formal and informal ses- 
sions, symposia, and work- 

[continued) 



90 B YTE • JUNE 1985 



Inquiry 328 




I ft 



A system that keeps 

your private computer files 

from becoming public. 



-•^ >§r- ■;:^ 




GTX-100. Computer security 
so advanced, it could even 
keep secrets from Mata Hari. 

Does your computer talk to 
strangers? Before you answer 
no, remember, today's com- 
puter intruders are very skillful. 

In fact, even a famous spy 
like Mata Hari would be hard 
pressed to match their inven- 
tiveness. With one deft phone 
call, these electronic trespassers 
can tamper with such secret 
items as privileged customer 
reports, confidential corres- 
pondence, and marketing 
intelligence. 

Inquiry 252 



Jj^^Rr ''•'* 



&***» H*t ?•* *to*A* 



1 eo^oH 



III €t)t Bail? Cl)tonitlt 

wto mis nl 



FILES STOLEN 
MY PHONE CALL 




Data thieves can steal infor- 
mation like that. Or erase it. 
Or alter it to their advantage. 

That's why your computer 
needs the protection of 
GTX-100. It's a new kind of 
security subsystem developed 
from Lockheed's years of 
experience with high tech- 
nology and strict security. 

GTX-100 puts an electronic 
wall around your sensitive 
computer files and keeps your 
private data private. 

Use the coupon to get a 
GTX-100 brochure plus the 
name of your nearest sales 
office. They'll show you how 
GTX-100 can guard your 
secrets the next time a stranger 
comes calling. 



© Lockheed-GETEX 1985 



Mail to: 

Lockheed-GETEX, Suite 945, 
1100 Circle 75 Parkway, Atlanta, 
GA 30339. (404) 951-0878. 

Please send me: 

□ GTX-100 brochure. 

□ The name of my nearest sales 
office. 

Name 

Title" 

Company Name 

Address 

City State Zip 

^Lockheed-GETEX 

m Giving shape to imagination. 

IUNE 1985 -BYTE 91 



I 
I 



THE CMO ADVANTAGE HOME COMPUTERS 




* THE BEST PRICES! 

We will meet or beat any 
qualified price you find. 

i' Next day shipping on all in stock 
items. 

S Free easy access order inquiry. 

i' Orders from outside 

Pennsylvania and Nevada save 
state sales tax. 

^ Free technicial support with our 
factory trained technical staff. 

^ There is no limit and no deposit 
on C.O.D. orders. 

x' There's no extra charge for 
using your credit card. Your card 
is not charged until we ship. 

ix No waiting period for cashiers 
checks. 

x' We accept purchase orders from 
qualified corporations. Subject to 
approval. 

S Educational discounts available 
to qualified institutions. 

• FREE CATALOG MEMBERSHIP, 




VISA 




(MasterCard) 



Inquiry 106 ^\9 

SHIPPING 

Add 3%, minimum $5.00 shipping 
and handling on all orders. Larger 
shipments may require additional 
charges. 

All items subject to availability and 
price change. 

Returned shipments may be sub- 
ject to a restocking fee. 




APPLE 

APPLE lie CALL 

APPLE lie CALL 

MaclNTOSH CALL 

lie LCD Display CALL 

A ATARI 

65XE (64K) -* 

130XE (128K) **V£ 

130ST (128KJ ?2o^ S 

520ST (512KJ 4* 

ATARI 600XL CLOSEOUT 
S49.99 

WHILE SUPPLIES LAST 

800XL 64K CALL 

850 Interface $109.00 

1010 Recorder $49.99 

1020 Color Printer $79.99 

1025 Dot Matrix Printer $199.99 

1027 Letter Quality Printer $269.99 

1030 Direct Connect Modem $69.99 

1050 Disk Drive $179.99 

Touch Tablet $64.99 

7097 Atari Logo $74.99 

4018 Pilot (Home) $57.99 

5049 VisiCalc $59.99 

4011 Star Raiders $12.99 

4022 PacMan $16.99 

BOARDS FOR ATARI 

Axlon 32K $39.99 

Axlon 48K (400) $69.99 

Axlon 128K $269.99 

Microbits 64K (600) $109.00 

Bit 3 Full View 80 $229.00 

Qz. commodore 
NEW 
Commodore 128, LCD..CALL 

SX-64 Portable $499.00 

Commodore Plus 4 $199.00 

CBM 64 $149.00 

C1541 Disk Drive $199.00 

C1530 Datasette $39.99 

M-801 Dot Matrix Printer $189.00 

M-802 Dot Matrix/Serial $219.00 

MCS 803 Dot Matrix $179.00 

C1802 Color Monitor $199.00 

C1660 Auto Modem $59.99 

DPS 1101 Daisy Printer $339.00 

Professional Software 

Fleet System II w/Spell^ $49.99 

Trivia Fever $29.99 

File (64) $59.99 

Report (64) $49.99 

Precision Software 

Superbase 64 $54.99 

BATTHRlsi§!NCLJJDen 

PaperClip w/Spell Pack $79.99 

The Consultant DBMS $69.99 

Bus Card II $139.00 

80 Col Display $139.00 

Qz. commodore 

CBM 8032 $639.00 

CBM 4032 $599.00 

2031 LP Disk Drive $299.00 

8050 Disk Drive $949.00 

8250 Disk Drive $1249.00 

4023 Printer $329.00 

8023 Printer $589.00 

6400 Printer CALL 

Z-RAM $299.00 

Silicon Office $299.00 

Professional Software 

Word Pro 4 Plus/5 Plus each... $239.00 

Info Pro $179.00 

Administrator $399.00 

Power $69.99 



JRTABU COMPUTERS 



Wiffl HEWLETT 

mL/ZM PACKARD 

41CV $189.99 

41CX $249.99 

HP 71B $419.99 

HP 11C $62.99 

HP 12C/15C/16C $89.99 

HP 75D $999.99 

HPIL Module $98.99 

HPIL Cassette or Printer $359.99 

Card Reader $143.99 

Extended Function Module $63.99 

Time Module $63.99 

We stock the full line of 
HP calculator products 

SEC 

PC-8401 $749.00 

PC-8201 Portable Computer.. ..$289.00 

PC-8231 Disk Drive $599.00 

PC-8221A Thermal Printers $149.00 

PC-8281A Data Recorder $99.99 

PC-8201-06 8K RAM Chips $105.00 

SHARP 

PC-1350 $159.99 

PC-1261 $159.99 

PC-1260 $109.99 

PC-1500A $165.99 

PC-1250A $88.99 

CE-125 Printer/Cassette $128.99 

CE-150 Color Printer Cassette.$171.99 
CE-161 16K RAM $134.99 



HARD 

£ucy 

PC Stor CALL 

PC Disc CALL 

PC QlC-Stor CALL 

PC Back-Up CALL 

EVEREX 

Hard Drives CALL 

Tape Back Up CALL 

IDlAssociiUes 

5 meg Removable/Internal $1399.00 

10 meg Fixed/Internal $1249.00 

15 meg 5 Removable/10 Fixed$21 49.00 
25 meg 5 Removable/20 Fixed$2499.00 

[•MEGA- 

10 meg Bernoulli Box $2149.00 

20 meg Bernoulli Box $2699.00 

5 meg "MacNoulli" $1599.00 

■arRanaSystems 

10 meg Internal $699.00 

fTALLGRASS 
TECHNOLOGIES 
COMMITTED TO M6wORY 

12, 25, 35, 50, 80 meg (PC) 
from $1499.00 

FLOPPY 

INDUS 

Apple GT $209.00 

Atari GT $249.00 

C-64 GT $259.00 

EE3 

A1.5 Apple $199.00 

A2 Apple $199.00 

SD1 C-64 Single $269.00 

SD2 C-64 Dual $469.00 

mm RanaSystems 

Rana 1000 (Atari) $199.00 

Elite 1 (Apple) $189.00 

london 

320K 5 1 A" (PC) $129.00 

Qume 

320K 5V4" .'......."' $109.00 



ANCHOR 
Volksmodem $59.99 

Volksmodem XII $189.99 

Mark IL Serial $79.99 

Mark VII (Auto Ans/Auto Dial).. ..$99.99 

Mark XII (1200 Baud) $259.00 

©Hayes 

Smartmodem 300 $145.00 

Smartmodem 1200 $389.00 

Smartmodem 1200B $359.00 

Smartmodem 2400 $699.00 

Micromodem Me $249.00 

Smart Com II $89.99 

Chronograph $199.00 

ABC 

Reach 1200 Baud Half Card. ...$399.00 

(WPP miCROBITS 

MPP-1000E AD/AA (Atari) $79.99 

MPP-1064 AD/AA (C-64) $69.00 

[Novation^ 

Smart Cat Plus $319.00 

Smart Cat 103 $169.00 

Smart Cat 103/212 $369.00 

Novation 2400 CALL 

212 AutoCat II $499.00 

Apple Cat II $229.00 

212 Apple Cat II $379.00 

Apple Cat 212 Upgrade $229.00 

Macmodem $319.00 

TELELEARNING 

C64 300 Baud $49.99 

ZT-1 fTT..... $339.00 

ZT-10 $309.00 

ZT-11 $369.00 

Z-22 Video Data Terminal $529.00 

maxelk 

3Vz" SS/DD $39.99 

3Vz" DS/DD $54.99 

5W MD-1 $17.99 

5Va" MD-2 $23.99 

8" FD-1 $39.99 

8" FD-2 $49.99 

vA Verbatim, 

5V4" SS/DD $21.99 

51A" DS/DD $29 99 

Disk Analyzer $24.9?; 

Esnsa 

Elephant 5 1 /i" SS/SD $13.99 

Elephant 5Va" SS/DD $15.99 

Elephant 5Va" DS/DD $17.99 

Elephant EMSP 5 1 A $24.99 

5V4" Disk Head Cleaner $14.99 

DISK HOLDERS 

INNOVATIVE CONCEPTS 

Flip-in-File 10 $3.99 

Flip-in-Fiie 50 $17.99 

Flip-in-File 50 w/lock $24.99 

Flip-in-File (400/800 ROM) $11.99 

AMARAY 

50 Disk Tub 5V4 M $9.99 

30 Disk Tub 3Vz" 8.99 

^hoala 

IBM $89.99 

Apple/Franklin $79.99 

Polaroid 

Palette $1299.00 




MONITORS 



PRINTERS 



Inquiry 106 



PC COMPATIBLES 



XlMDEK 

300 Green $129.00 

300 Amber $139.00 

310 Amber IBM-Plug $169.00 

300 Color/Audio $239.00 

Color 500 Composite/RGB $389.00 

Color 600 Hi-Res (640x240) $399.00 

Color 700 Hi-Res (720x240) $499.00 

Color 710 Long Phosphor $579.00 

Q 

12" Amber/Green Composite $99.99 

12" Amber/Green TTL (ea.) $119.00 

SEC 

JB 1260 Green $79.99 

JB 1201/1205 Green $129.00 

JB 1280 G TTL (ea.) $149.00 

JB 1285 A TTL $149.00 

JC 1215 Color $229.00 

JC 1216 RGB $379.00 

JC 1460 Color $269.00 

JC 1410 RGB $669,00 

PRINCETON 

MAX-12 Amber $189.00 

HX-12 RGB $469.00 

SR-12 RGB ' .9.00 

Scan Doubter Board $199.00 

115 12" Green Mono $99.99 

116 12" Amber Mono $99.99 

121 Green TTL $139.00 

122 Amber TTL $149.00 

210 Color RGB $239.00 

400 Med-Res RGB $299.00 

410 Hi-Res RGB $339.00 

420 Hi-Res RGB (IBM) $429.00 

440 Ultra Hi-Res RGB $589.00 

QUADRAN^ 

8400 Quadchrome $479.00 

8410 Quadchrome II $469.00 

8420 Amberchrome $179.00 

ZVM 122/123 $89.99 

ZVM 124 IBM Amber $149.00 

ZVM 130 Color $279.00 

ZVM 131 Color $299.00 

ZVM 133 RGB $429.00 

ZVM 135 RGB/Color $459.00 

ZVM 136 RGB/Color $599.00 



UUpfuumcAL 

Graphcard $79.99 

Seriall Card $99.99 

Microbuffer l\ + $169.00 

Microbuffer 32K $189.00 

QUADRAN^ 

Microfazer from $139.00 

Efazer (Epson) from $79.99 

IJOrange micro 

Grappler CD (C64) $99.99 

Grappler + (Apple) $89.99 

Grappler 16K + (Apple) $159.00 

DIGITAL DEVICES 

Ape Face (Atari) $49.99 

U-Print A (Atari) $54.99 

U-A16/Buffer (Atari) $74.99 

U-Call Interface (Atari) $39.99 

U-Print C (C64) $49.99 

P-16 Print Buffer $74.99 

n*e miCROBITS 

MB1150 Parallel (Atari) $79.99 

MPP-1150 Parallel (Atari) $69.99 

MP-1150XL (Atari 1200XL) $69.99 

MicroStuffer 64K Print Buffer.. .$109.00 



AT-100 Atari Interface Printer.. .$159.00 

AT-550 Atari Dual Mode $259.00 

GP-100 Parallel Interface $189.00 

GP-700 Atari Color Printer $489.00 

GP-550 Parallel Printer $269.00 

#CITIZEN 

MSP-10 (80 col) $349.00 

MSP-15 (132 col) $539.00 

MSP-20 (80 col.) $569.00 

MSP-25 (132 col.) $729.00 

c.rroH 

Prowriter 7500 $219.00 

Prowriter 8510P $299.00 

Prowriter 1550P $469.00 

Son of Starwriter A10P $459.00 

F10-40P Starwriter $869.00 

F10-55 Printmaster 31049.00 

ComWriterll Letter Quality $399.00 

DIABLO 

D25 $599.00 

corona 

Lazer LP-300 $2799.00 

d*isywriter 

2000 $749.00 

EPSON 

RX-80, FX-80 + , LX-80, JX-80 CALL 

FX-100 + , RX-100, LQ1500 CALL 

Homewriter 10 CALL 

JUKI 

6100 Letter Quality $399.00 

6300 Letter Quality $719.00 

NEC 

8027 Transportable $299.00 

2000 Series $699.00 

3000 Series $1099.00 

8000 Series $1499.00 

ELF 360 $449.00 

PR103A - Trimode $289.00 

LQ15 - Near Letter $359.00 

8025 - Wide Carriage $469.00 

OKIDATA 

83, 84, 92, 93, 182, 192, 193 

2410, Okimate-20 CALL 

Okimate 10 (Specify C64/Atari)$1 99.00 

OLYMPIA 

Needlepoint Dot Matrix $329.00 

Compact RO $339.00 

Compact 2 $369.00 

Panasonic 

KX1090 $199.00 

KX1091 $279.00 

KX1092 $409.00 

KX1093 $599.00 

Quadjet $749.00 

2J SJLYER-RECO 

400 Letter Quality $279.00 

500 Letter Quality $299.00 

550 Letter Quality $429.00 

770 Letter Quality $779.00 

SG10 (120 cps) $239.00 

SG15 (120 cps) $399.00 

SD10 (160 cps) $359.00 

SD15 (160 cps) $479.00 

SR10 (200 cps) $499.00 

SR15 (200 cps) $639.00 

Powertype Letter Quality $319.00 

SB10 (NEW) CALL 

TOSHIBA 

1340 (80 column) $599.00 

1351 (132 column) $1199.00 

P351 .$1299.00 



PC-150 Desktop..... CALL 

PC-160 Portable CALL 

s 

2220 Dual Portable.... $1999.00 

4220 Dual Desktop $1999.00 

^ SANYO 

MBC 550-2 Single Drive $699.00 

MBC 555-2 Dual Drive $969.00 

MBC 775 Portable CALL 

MBC 511 10 meg CALL 

pAThT 

Safari CALL 

6300 CALL 

corona 

PPC22 Dual Portable $1599.00 

PPCXTA 10 meg Portable $2799.00 

PC40022 Dual Desktop $2199.00 

PC Paintbrush I.^. 5 .! $94.99 

• Lotus 

Symphony $429.00 

1-2-3 ,., $299.00 

PeachPack (GL/AP/AR) $199.00 

III MicroPro 

WordStar 2000 $249.00 

WordStar 2000 + $319.00 

LMiMaiMiMI 

R:Base 4000 $249.00 

Clout 2.0 $129.00 

MultiMate 

Multi Mate.... $249.00 

Crosstalk $89.99 

MICROSOFT. 

Flight Simulator $39.99 

MultiPlan $129.00 

ASHTONTATES 

Framework $349.00 

dBASE II $299,00 

dBASE III $369.00 

Professional Software 

PC Plus/The Boss $249.00 

synapse 

File Manager (IBM) $39.99 

St^ ELECTRONIC ARTS* 

Get Organized $69.99 

Cut -n- Paste $39.99 

Music Construction $29.99 

One -on- One $29.99 

Financial Cookbook $34.99 

Electronic Desk $199.00 

BBORIPHD 
INTFRfJAliONAl 

Turbo Pascal $39.99 

Sidekick $39.99 

SPI 

Open Access $379.00 

^ I Iarvarcl Software Inc. 

Harvard Project Manager $209.00 

Total Project Manager $269.00 

IBM/APPLE 

Access (NEW) $79.99 

Write/Graph/File/Plan (ea.) $79.99 

Report $74.99 

Proof $59.99 

Mac Software CALL 

SSI Software 

Word Perfect $239.00 

Human Edge™ 

Communication Edge 399.99 

Management Edge $11 9. CO 

Negotiation Edge $139.00 

Sales Edge $119.00 

SOFTWARE GROUP 

Enable $549.00 

THOUGHTWARE 

Trigger $289.00 

Sell, Sell, Sell 

Training $299.00 

Application $179.00 



IBM PC SYSTEMS 

Configured to your 

specifications. 
Call for Best Price! 

IBM-PC 

IBM-PC II 
IBM-XT 

IBM-AT 

NEC 

PC-8800 System 

NEC -8800 CPU 
NEC - 8831 Dual Drives 
NEC - 1460 RGB Monitor 
NEC - 15LQ Printer 

$1499.00 



SOFTWARE FOR IBM MULTIFUNCTION CARDS 



AST 

Six Pack Plus $239.00 

Mega Plus II $269.00 

I/O Plus II $139,00 

Memory MBII $249.00 

Advantage-AT $399.00 

Preview Monograph $299.00 

Graph Pak Mono/64K $599.00 

MonoGraph Plus $399.00 

5251/11 $799.00 

5251/12 $579.00 

3780 $639.00 

BSC $499.00 

dea 

IRMA 3270 $899.00 

IRMA Print S999.00 

easie 

Color $199.00 

Mono $149.00 

EVEREX 

Color Card (Graphics Edge) $299.00 

Magic Card $199.00 

HERCULES 

Graphics $319.00 

Color $169.00 

BElssociaics 

IDEAmax - ZPR, 64K, C, S, P.$229.00 

IDEAmini- YPR, C, S, P $189.00 

IDEAminimax - MPR 128K $229.00 

IDEAshare Software $219.00 

IDEA 5251 $699.00 

MYLEX 

The Chairman $489.00 

PARADISF. 

Modular Graphics Card $279.00 

Multi Display Card $299.00 

Five Pack C, S $159.00 

PLANTRONICS 

Color Plus S369.00 

Captain - 64 $239.00 

Captain Jr. 128K S339.00 

Graphics Master $469.00 

QUADRAN^ 

Quadboard II $229.00 

Expanded Quadboard $239.00 

Quad 512 + $249.00 

Quad 2 Meg $879.00 

Memory Board $229.00 

QuadJr Exp. Chassis $539.00 

QuadJr Exp. Memory $219.00 

QuadMemJr $229.00 

Chronograph $89.99 

Parallel Card $69.99 

Quadcolor I $219.00 

Quadgraph $379.00 



E^EgE 




■ 



^V 




KEYBOARDS 

Keytronics Keyboards 5150, 5151. 

5151 Jr, 5149 Jr CALL 

MEMORY CHIPS 

4164 RAM Chips (ea.) $2.39 



Inquiry 293 



No More WAITing with 




8087 SPEED for 
LOTUS 1-2-3" 



FASTBRE AK speeds up 1 -2-3 recalculations byupto36to1ona 
4.77 MHz PC and by 79 to 1 on a NUMBER SMASHER equipped 
PC. It extends DOS functionality to include the 8087 and comes 
with a daughterboard which fits into the 8087 socket, an 8087, a 
break button and the necessary software. A number of additional 
features are invoked through its novel break button. These enable 
the user to lock out the keyboard, exchange information with pro- 
grams written In BASIC, FORTRAN or C that are running concur- 
rently, spool LOTUS output to a printer and install a single protected 
copy of 1 -2-3 and FASTBRE AK on your hard disk. An optional LOCK 
BOX makes it possible to RESET your PC and remove the break 
button from the computer $339 LOCK BOX $60 

See our full page ads elsewhere in this issue 
for other MicroWay products including: 

8087 5MHz $1 09 

64K RAM Set $12 

256K HMOS RAM Set $72 

256K CMOS RAM Set $1 35 

Contact MicroWay, Inc. or your local 
MicroWay® Installation Center to order. 

Lotus and 1-2-3 are trademarks of Lotus Development Corp. MicroWay, 
FASTBREAK and NUMBER SMASHER are trademarks of MicroWay, Inc. 



Micro 
Way 



P.O. Box 79 

Kingston, Mass. 
02364 USA 
(617) 746-7341 



The World Leader 
in 8087 Support! 



COMPETITIVE EDGE 

P.O. Box 556 — Plymouth, Ml 48170 — 313-451-0665 
Compupro®, LOMAS, EARTH, TELETEK, Macrotech 

S-100 CIRCUIT BOARDS 



CompuPro286CPU" 


S750. 


Lomas 286 


S821. 


Macrotech 286/Z80H 


S795. 


CompuPro SPUZ'"8MHZ 


261. 


Lomas 8086 


420. 


Lomas 10MHz 8086 


520. 


CompuPro 8085/88' " 


245. 


Lomas Octaport '" BSerial 


320. 


Lomas 4 serial 


200. 


CompuProDisk 1 A '" 


347. 


Lomas LDP" 72 


206. 


Macrotech 256K Dram 


499. 


CompuPro Disk 3'" 


417. 


Lomas 256KDram 


556. 


Macrotech 512K Dram 


799. 


CompuPro Ram 22'" 


850. 


Lomas 512K Dram 


821. 


Macrotech 512K static 


1595. 


CompuPro Ram 23'" 


277. 


LomasRam67" 


725. 


Macrotech256K static 


795. 


CompuPro Ram23 128 


487. 


Lomas Hazitall'" 


244. 


Lomas ColorMagic'" 16K 


476. 


CompuPro CPU Z" 1 


189. 


Thunder 186'" 


1095. 


Lomas MSDOS'" 2.11 


200. 


CompuPro CCP/M' 81 6 *•' 


250. 


LomasCCP/M*86 "" 


280. 


CompuPro MDrive H*512K 


495. 


System Support One '" 


245. 


CompuPro I/O 4 


245. 


CompuPro I/O 3 8 port 


459. 


TeletekHD/ 


375. 


Teletek SBC 1 


525. 


Teletek SBC 16MHz 128 


699. 


Teletek Systemaster" 


557. 


Systemaster 1 1* 


899. 


Turbodos*' f orTeletek 


650. 



Lomas 2 Megabyte Ram-(2048K) just S1595. 

Earth Computer TURBO SLAVE 1 8MHz 1 28K $395. 

Turbo Slave I runs with Teletek, North Star Horizon, Advanced Digital and Others. 

SYSTEMS 



CompuPro 85/88.256K.CDOS, SS1.I/0 4.2-96TPI DRS. 10 Slot 
CompuPro 85/88.256K.CDOS, SSI, I/O 4.1-96TPI.20MB, 10 Slot 
286Z80H.1024K Static. CDOS, SS1.I/0 4.1-96TPI.40MB, 10 Slot 
M-Drive-H Option S495 per 512K or S1795 per 2048K each 
Lomas 286,1024K,20MB HD, 1-5", CDOS. 6 SERIAL, 2 Par, 10 Slot 
Lomas Thunder 186, 256K, 20 MB HD, 1-5", CDOS, 4 Slot 
Teletek 8MHz Master, 4-8MHz 128K SLVS, 1-5", 20 MB HD, TDOS 



UPGRADE YOUR IBM® PC™!! 



S3095 
S4295 
S7495 

S4995 
S2895 
S4495 



S299 
S159 
S449 
S279 
S279 



S119 
S125 
S 21 

ALL PRICES SUBJECT TO CHANGE AND STOCK ON HAND 

CompuPfO is a Registered Trademark ol Viasyn. CPU Z. Disk 1A, Disk 3. Interfacer 3, Interlacer 4.. CPU 286. CPU 8085 88, 
System Support 1, MDRiVE-H, Ram 22, Ram 23 ace trademarks or registered trademarks of Viasyn CP M 2.2, CCP M, are 
registered trademarks ol Digital Research Inc. MSDOS is a registered trademark ot Microsoft, Systemaster & Systemaster II are 
registered trademarks of Te/etek Enterprises. Turbodos is registered trademark ot Software 2000. IBM is a registered trademark 
of International Business Machines. 



MONITORS 




GRAPHIC BOARDS 


Amdex310A 


S159 


Hercules Monochrome 


Taxan Color 440 


S549 


Hercules Color Card 


Princeton Color HR-1 2 


S459 


Tecmar Graphics Master 


Princeton Color SR-12 


S649 


Paradise Graphics 
STB Graphix ... II 


MULTI-FUNCTION BOARDS 




FLOPPY DRIVES 


AST6Pak64K 


S245 


TEAC1/2HTFD55B 


Quadram Expanded Quadboard OK 


S219 


Mitsubishi96TPI 


TecmarCaptain64K 


S199 


5" OSOD Color Diskettes 



EVENT QUEUE 



shops. Contact the Institute 
for Logic and Cognitive 
Studies, University of 
Houston-Clear Lake, Box 
269. Houston, TX 77058. 
(713) 488-9274. }une 13-15 

• INTERNATIONAL SHOW 
The International Computer 
Show, Trade Fair Center, Col- 
ogne, West Germany. More 
than 3 50 manufacturers 
from more than 18 countries 
are expected to display their 
wares. Contact Messe- und 
Ausstellungs-Ges.m.b.H. 
Koln, Messeplatz, Postfach 
210760. D-5000 Koln 21, 
West Germany; tel: (0221) 
821-l;lelex:8 873 426muad. 
June 13-16 

• SYSTEM/38 SEMINAR 
The IBM System/38: Stan- 
dards and Practices, 
Halloran House Hotel, New 
York City. The fee is $595. 
Contact DGC Inc., 14 50 
Preston Forest Square, 
Dallas. TX 75320, (214) 
991-4044. ]une 17-18 

• BIO RESEARCH 
RESOURCE— Introduction to 
BIONET: A National Com- 
puter Resource for Mole- 
cular Biology, Rutgers 
University, Piscataway, N). 
Workshops on using com- 
puters for molecular biology 
research. Contact Selma Git- 
terman, Continuing Profes- 
sional Education, Institute of 
Microbiology, Rutgers Uni- 
versity, POB 759, Piscataway, 
NJ 08854-0759, (201) 
932-4258. )une 17-19 

• PC IN BIG APPLE 

PC Expo, Coliseum, New 
York, NY. Seminars and 
product displays. Contact PC 
Expo. 333 Sylvan Ave., 
Englewood Cliffs, NJ 07632, 
(800) 922-0324; in New 
jersey, (201) 569-8542. 
June 17-19 

• INTRO TO FORTH 
Beginning FORTH Program- 
ming, Humboldt State Uni- 
versity, Areata, CA. A hands- 
on, introductory course for 



those wishing to learn 
FORTH and write applica- 
tions in it. The fee is $150 
or $200 with three credit 
hours. Contact Claire Duffey, 
Office of Continuing Educa- 
tion, Humboldt State Univer- 
sity. Areata, CA 95521. (707) 
826-3731. June 17-21 

• ENGINEERING 
SOFTWARE— Engineering 
Software; Engsoft '85. The 
Fourth International Con- 
ference and Exhibition, Ken- 
sington Exhibition Centre, 
London, England. Exhibits 
and sessions. Contact Elaine 
laylor, Computational 
Mechanics Centre, Ashurst 
Lodge, Ashurst, Southamp- 
ton S04 2 A A. England; tel: 
(042 129) 3223; Telex; 47388 
Attn. COMPMECH. 

]une 18-20 

• COMPUTERS AND 
MANUFACTURING-Success- 
ful Implementation of Com- 
puter Integrated Manufactur- 
ing, Constellation Hotel. 
Toronto, Ontario, Canada. 
'Ibpics covered include com- 
ponents of computer- 
integrated manufacturing, 
methods of implementation, 
and planning and manage- 
ment. Contact Computer 
and Automated Systems 
Association, Society of 
Manufacturing Engineers, 
One SME Dr.. POB 930. 
Dearborn. MI 48121. (313) 
271-1500. }une 18-20 

• DATA COMMUNICA- 
TIONS UPDATE-Data Com- 
munications: A Complete 
Overview and Update, New- 
port Beach, CA. The mana- 
gerial, operational, and 
technical aspects of data 
communications and facili- 
ties are covered. Contact 
Data-lech Institute, Lakeview 
Plaza. POB 2429, Clifton, NI 
07015, (201) 478-5400. 

June 19-21 

• TIPS FOR NET 

MANAGERS-Network Man- 
agement/lechnical Control, 

[continued) 



94 BYTE • IUNE 1985 



Inquiry 94 



Alloy takes your PC 
totheliniit 

QICSTOR-PLUS. The ultimate in PC expansion with 

five IBM compatible slots, hard disk storage, and 

streaming tape backup in one neat package. 

Alloy's QICSTOR-PLUS meets all your ity of 36 to 128 MBytes. And QICSTOR- 



Alloy's QICSTOR-PLUS meets all your 
expansion needs. It's the ideal upgrade 
for a growing PC or AT system. 

QICSTOR-PLUS has five full size 
expansion slots which are completely 
compatible with the IBM PC bus and 



PLUS has file-oriented streaming tape 
backup with a formatted capacity of 
over 50 MBytes. Alloy provides file- 
oriented QTIP software with a trans- 
fer rate of 2 MBytes/minute. 
QICSTOR-PLUS is available right 



they also support Alloy's PC-SLAVE/16 QICSTOR-PLUS is available i 
multi-processor, multi-user capability. Its now. So call Alloy today at (617) 
high performance hard disk has a capac- 875-6100. 




Spring '85 



Computer Products, Inc. 



Alloy Computer Products Inc., 100 Pennsylvania Avenue, Framingham, Massachusetts 01701. Tel: (617) 875-6100, TWX: 710-346-0394 
In Europe: Alloy Computer Products (Europe), Ltd., Cirencester, Gloucestershire, England. Tel: 0285-68709, Tlx: 43340 



Inquiry 20 



JUNE 1985 -BYTE 95 



Inquiry 95 for End-Users. Inquiry 96 for DEALERS ONLY. 



ECOMPAQ desk pro 



= IBM P.C. AVAILABLEPRODUCTSr 



10 MEGABYTE HARD DISK 



• Low power consumpiion 



PORTABLE 



XT 



• 10 Megabyiefiai 
disk. fully shock 
mounied 

• Tape Back-up in 
Power Cenier.' u 

•640K expansion 
on moiher board 
using256K chips. 






h height 



• Tape Back-up. 
[floppy tape) 

• 640K expansionon 
molherboardusing 256K 
chips, 

• 20.40. GOMegabyte 
(ape backup 

• Economical. fast, re 






:IBM P.C. AT AVAILABLE F 




• Opiionat 2ndharddiskor removablehard 
disklor backup 

• CMI 20/30 Megabyte hard disk (Same 
asusedbylBM) 

•20.40.60 Megabyte Vi heightTape Back-up 
Very (as), ellicient & reliable 

• Removable hard disk 10 Megabyte 



EXPANSION BOARDS 



ATRAMCARD 

• 12 8Kexpansion. 
1.5 Megabyte 
using 256K chi 

• I 28K Piggy Back 
Chips lormother 
board expansion 






rallelPon 
•Fully IBM AT 
compatible 



AVAILABLE PRODUCTS: 



HARD DISK 



TAPE 



RAM UPGRADE 



10. 22, 33 MEGABYTE 

• Fully compatible 



•DOS 2.1 &3 0compaiibie 

• Vi helghi 

•20.4 0.60 Megabyte 

• Siandarddaiaiormat 

• imageorliieby tile 



COMPAQ PORTABLE 



• 640K expansion on 
motherboard usmg256K 
Chips 



10, 20, MEGABYTE HARD DISK 



• Low power consumption • External Back. up in Power Center ' 

• Special shock mounted (Same as usedby Compaq! 



;AT&T 



AVAILABLE PRODUCTS - 



HARD DISK 



TAPE 



RAM UPGRADE 



10.22,33.87. MEGABYTE 
INTERNAL* EXTERNAL UNITS 

• Low power consumption 

• 100% compatible 

• Controller same as used by AT & T 



• ExlernalTape 
Back-upm 
PowerCenter " 




ONE CALL DOES IT ALL! 

(714)953-0470 

2 E. Edinger Ave. • Santa Ana. CA 92705 



64K $BCs.™$99. 



in OEM quantities 




• Save development time and costs with 
Megatel Quark® single board computers 
• Select only the features you require 
•We deliver your first unit in 
two weeks or less 



• 6MHz Z80B® 

• 8088 Co-Processor 

• 64K, 128K or 256K RAM 

• Alpha/Graphics 

Video Controller 

• Floppy Disk Control 

(8", 5V or 3V) 

• Winchester Hard 

Disk Control 

• Up to 2 Full Duplex 

Serial Ports 

Special Packages: 

Entry Level Quark 10 with Z80B®, 64K RAM, EPROM, Video, 
Serial and Parallel I/O only $295.* 

64K SBC Package with CP/M® 2.2 on disk. . .only $375.* 

Custom designs and layouts available 



• Up to 128K EPROM 

• E 2 PROM Support 

• Time of Day Clock 

• Up to 4 Parallel 

I/O Ports 

• Peripheral Expansion 

Interface 

• CP/M® 2.2 or CP/M® 3.0 

Operating Systems 



To order your first unit call 
our Toronto sales office today. 
(416) 745-7214 



Or write us: Megatel 
1051 Clinton St., 
Buffalo, N.Y 14206 



CP/M Is a registered trademark ot Digital Research -Quantity one price 
Z80B Is a registered trademark ot Zllog Inc. 



megatel 



EVENT QUEUE 



Convention Center, San Jose, 
CA. A conference and ex- 
position. Contact CW Con- 
ference Management Group, 
375 Cochituate Rd., POB 
880, Framingham, MA 
01701, (800) 225-4698; in 
Massachusetts, (61 7) 
879-0700. ]une 24-27 

• WORK WITH A 
COMPUTER-Using a Per- 
sonal Computer, Brecken- 
ridge Concourse Hotel. St. 
Louis, MO. A hands-on 
course for those who want 
to use integrated software 
packages. The fee is $965. 
Contact The Center for Pro- 
fessional Advancement. POB 
H, East Brunswick, NJ 08816, 
(201) 238-1600. June 24-27 

• ADVANCED FORTH 
Using FORTH Effectively, 
Humboldt State University, 
Areata, CA. An advanced, 
hands-on workshop in apply- 
ing FORTH to real-world 
problems. The fee is $150 or 
$200 with three credit 
hours. Contact Claire Duffey, 
Office of Continuing Educa- 
tion, Humboldt State Univer- 
sity. Areata, CA 95521, (707) 
826-3731. ]une 24-28 

• ADVANCED LOTUS 
CLASS— Advanced Lotus 
1-2-3, Georgia Institute of 
lechnology, Atlanta. A con- 
centration on macros, macro 
menus, and multiple linked 
worksheets. The fee is $390. 
Contact Irish Stolton. 
Department of Continuing 
Education, Georgia Institute 
of lechnology, Atlanta, GA 
30332, (404) 894-2 547. 

]me 25-26 

• GRAPHICS IN SUNSHINE 

Computer Graphics '85 
West, Los Angeles. CA. Con- 
tact National Computer 
Graphics Association, 8401 
Arlington Blvd.. Fairfax, VA 
22031, (703) 698-9600. 
]me 25-27 

• UNIX FOR MANAGERS 
UNIX Overview for 
Managers, City University, 



Bellevue, WA. For managers 
considering a UNIX system 
for office automation or 
software development. The 
fee is $100. Contact David 
Cheyette, Specialized 
Systems Consultants. POB 7, 
Northgate Station, Seattle, 
WA 9812 5, (206) 367-8649. 
June 26 

• CAD TECHNOLOGY 

CAD 2001: The Countdown, 
Boston, MA. Presentations 
on the future of computer- 
aided design. The fee is 
$900. Contact CAD Seminars 
Inc., Suite 400, 1 50 East 
Riverside. Austin. TX 78704, 
(512) 445-7342. )une 26-28 

• DATA COMMUNICA- 
TIONS UPDATE-Data Com- 
munications: A Complete 
Overview and Update, 
Philadelphia, PA. See June 
19-21 for details. ]une 26-28 

• COMPUTERS IN AUSTIN 

The Third Annual Austin 
Computer Fair. Municipal 
Auditorium, Austin, TX. 
More than 1 50 exhibits and 
seminars are planned. Con- 
tact David Orshalick, Austin 
Seminars Inc., POB 4531, 
Austin, TX 78765, (512) 
451-2954. ]une 27-29 



]uly 1985 



• COMPUTER TRAINING 

Computer Iteming Programs, 
Wintergreen Learning In- 
stitute, Wintergreen. VA. 
Hands-on training in word 
processing, information 
management, spreadsheets, 
and graphics. Contact Dr. 
M. D Corcoran, Wintergreen 
Learning Institute, POB 7, 
Wintergreen, VA 22958. 
(804) 325-1107. ]uly~Septernber 

• AUTOMATION DOWN 
UNDER-AutoMach Australia 
'85, Melbourne. An auto- 
mated manufacturing con- 
ference and exhibition. Con- 
tact SME World Head- 
continued) 



96 BYTE • JUNE 1985 



Inquiry 270 



AMAZING miSf 



NOW! FULL SIZE, FULL FEATURE, LETTER QUALITY AT ONLY $353 



If you have been searching for a letter 
quality printer you have probably found 
the flood of claims and counterclaims to 
be a real roadblock in your search. Not 
long ago we were in the same position. 
We tried to determine which daisy wheel 
printer had all the features our 
customers wanted, yet would not set 
them back a month's salary. Recently 
several manufacturers have introduced 
machines that had features we were 
seaching for. After a thorough assess- 
ment, we eliminated one model after the 
other for lack of one feature or another 
until we only had one left. 

THE RESULTS ARE IN 

We found the printer which has all the 
features anyone could want. The winner 
is the Aprotek Daisy 1120, a real heavy- 
duty workhorse printing at 20 characters 
per second. The manufacturer is Olympic 
Co. Ltd., a highly respected Japanese firm. 

FEATURES GALORE 

This printer has it all. To start with, it 
has a front panel Pitch Selector button 
with indicators which allows 10, 12, 15 
characters per inch (CPI) or 
Proportional Spacing. There is a Select 
(Online) button (with indicator) and a 
Line Feed button. You can also set Top- 
of-Form or Form Feed with the touch of 
the TOF button. Other front panel in- 
dicators include Power and Alarm. 

To load a sheet of paper, simply place 
it in the feed slot and pull the paper bail 
lever. PRESTO! The paper feeds automati- 
cally to a 1 inch top margin and the car- 
riage aligns to the selected left margin. 
In this manner, each page can have iden- 
tical margins automatically. You can con- 
tinue to compute while the 
Daisy 1120 is 



printing. The built in 2K buffer frees up 
your computer while printing a page on 
two allowing you to go to your next job. 
To really put your printer to work, the 
Cut Sheet Feeder option is great for 
automatic printing of those long jobs. 
Also available is the adjustable Tractor 
Feed option. Compare our option prices! 
Best of all the Daisy 1 120 is quiet: only 
57 dB-A (compare with an average of 
62-65 dB-A for others). 

COMPLETE COMPATIBILITY 

The Daisy 1120 uses industry standard 
Diablo® compatible printwheels. Scores 
of typeface styles are available at most 
computer or stationary stores. You can 
pop in a 10, 12, 15 pitch or proportional 
printwheel and use paper as wide as 14". 
At 15 CPI you can print 165 
columns— great for spreadsheets. 

The Daisy 1120 uses the Diablo 
Hytype II® standard ribbon cartridges. 
Again universally available. 

Not only is the hardware completely 
compatible, the control codes recognized 
by the Daisy 1120 are Diablo 630® 
compatible (industry standard). You can 
take advantage of all the great features 
of word processing packages like 
Wordstar® , pfs: Write® , Microsoft 
Word® and most others which allow you 
to automatically use superscripts, 
subscripts, automatic underlining, bold- 
face (shadow printing) and doublestrike. 

The printer has a set of rear switches 
which allow the use of standard ASCII as 
well as foreign character printwheels. 
Page length can be set to 8, 11, 12, or 
15". The Daisy 1120 can also be switch- 
ed to add automatic line feed if required. 



^ 



^s^^ 




THE BEST PART 

When shopping for a daisy wheel 
printer with all these features (if you 
could find one), you could expect to pay 
$600 or $700 dollars. The options would 
add much more. Not now! We have done 
our homework. We can now offer this 
printer for only $353. Order yours today! 

NO RISK OFFER 

Try the Daisy 1120 for 2 weeks. If you 
are not satisfied for ANY reason we will 
refund the full price— promptly. A full 
1-year parts and labor warranty is 
included. 

THE BOTTOM LINE 

Aprotek Daisy 1120 (Order#1120) $353 
w/standard Centronics parallel interface 
and 2K buffer. 
Options 

Auto Cut Sheet Feeder (#11 10) $188 
Tractor Feed (#1112) $77 
Accessories 

8' Cable for IBM PC® and compatibles 
(#1103) $26 

Interface with cable: «TI-99/4A (#106) $66 
•Apple II or He (#1104) $76 
•All Commodore (except Pet) (#1105) $44 
•All Atari (#1107) $66 
Shipping is $11— UPS continental USA. If you are in 
a hurry, UPS Blue or Air Parcel Post (second day 
air) is $25. Canada, Alaska, Mexico and Hawaii are 
$30 (air). Other foreign is $60 (air). California 
residents add 6% tax. Prices are cash prices— VISA 
and M/C add 3% to total. We ship promptly on 
money orders, cashier's checks, and charge cards. 
Allow 14-day clearing for checks. No C.O.D.'s. Pay- 
ment in US dollars only. 

TO ORDER ONLY CALL TOLL FREE 
(800) 962-5800 USA 
(800) 962-3800 CALIF. 

Or send payment to address below: 
Technical Information & Customer 
Service: (805) 987-2454 (8-5 PST) 
Dealer Inquiries Invited 

©1985 APROTEK. All rights reserved. 

Trademarks: Diablo, Hytype II, 630-Xerox 
Corp: Wordstar-Micropro Corp.; PFS- 
Software Publishing Corp.: Microsoft 
Word-Microsoft Corp.; Apple, II, 
lie-Apple Computer, Inc.; 
IBM PC-IBM Corp.; 
PET, CBM, 



(8-8 PST) 



.■dPROKK 

1071-A Avenida Acaso, Camarillo, C A 93010 



Inquiry 303 



The best of two worlds 

The MYTECH COMAL interacts programming language gives 
you the simplicity of Basic and the power of Pascal. Many of the 
concepts are influenced by ADA® 1 , for example exception 
handling, packages etc. 



Mytech Comal features 

• Friendly, interactive user inter- 
face with help facilities 

• 100% orthogonal. 



/ / PROP Sangu 


a^e.cbeek. 


n 


thr^ 


THEM 




'■'* 


itee—pngramtng 




l_[aiF>»c 


I K fbHran 0K«<t». otttw. 


!»ryt^7HIH 


i i "* 


njctured.fTOgramrrii'ng 




\\emwf 


\Vehdprdc 


jrwAJP-eiieck 


-^ 


/^Mssssi 


'ggggSSS -s 


KKX 


'& ocDcaaoc 


OODOC2CSD 


oo cO 



» Screen editor 
• Fulfills the Comal 2.00 requirements 



Available for IBM® 2 , MACINTOSH* 8 , 
HP, OLIVETTI, APRICOT*', 
WICATetc 

Implemented on UNIX® 2 , 
CPM/86® 3 , C-CPM/86® 4 , 
MS-DOS® 5 , PC-DOS® 6 
• Easily ported to 16/32-bits systems 
Tne pacKage concept makes 
Mytech Comal extensible 

Turtiegraphics package (LOGO) 

is available 

Easily customized for 

foreign languages 

Support for the 8087. 

Is written in "C". 

Comal is an official education 

language in Europe. 



Mytech Comal is the perfect language for students as well as for the 
professional programmer. For further information please ask for a 
data sheet. Or why not do it the right way, order your Mytech Comal 
system today and move in to a new fascinating and powerful pro- 
gramming dimension. 



MYTECH W DATA AB 



Mytech Software INC, 1 1 1 20 Rosell Street no.E, San Diego, CA921 21 USA 
Tel. 619-452-9847,Telex. 705340 



No Lower Price Anywhere 

We have the lowest prices for ©Sanyo 
G reywolf marketing 203-928-3654 PH0NE 0RDERS 



ONLY 



Included with Each Computer 

WORDSTAR MAILMERGE SPELLSTAR CALCSTAR INFOSTAR BASIC 

NEW Computers with Full Sanyo Warranty 



1 Year on Mother Board — 90 Days on All Other Parts 



SECOND DISC DRIVE : JM gg00 



r £sm. 





MBC1100 $599 

8-Bit Integrated Computer with 64KB RAM M BC 4000 

c 2 -msa cpu wth ™>.wa,i moflo and targe 6JKQ Compact 16-Bit Integrated Computer with 

RAMMKB ROM memory capaMy tor fast mcojUw ! 28KB RAM 



MBC 1200 S799 

B-Bit Integrated Computer with 
High Resolution Display 



I ' Qprrf'.'tiC 1 1C0; ..■■ ',-.., iMFiC1i , <;jj:iii--:ri;ild:ji.l,'. 

a:-.'); *.in 3?C<r3 l.;,r mailed capacity 
K :.■>-■'!',■ ■•■■:■■• v : ■ :■■■ 



□ 128KB RAM met 
EJInl«rtaeesforoo 

r«. HS.232C|X.i 



I i Specially-designed dr. 



a High resolution 640 k -iOO dot main* dis»l,iy w.lt 

graphtcsrunciions 
D Cnocoot 33tineor 40 lineteni mode 

□ DWM operating system with editor assembler a 
all standard utilities 

D Easy to-uso Sanyo Graphic BASIC 

D O/ie |MBCt200)or l»rt)(MSC lZ50)Jnten.al doul 
Sir3eitdoobie<Ser6rty, douWMia*. 5U" slim-iy 
mm Oop»7y Oak flmres win 6JOKB rormaned 

□ Speoaiiy-designeddelacrvable keyboard with cc 
oneRS-232port 



• CASH PRICE ONLY* 

Check in advance. Add 3% lorVISA'MC. No Returns. 
Shipping & Handling charges will be added to each order. 



For complete technical literature send SI" lo: 

P.O. Box 689 PHONE ORDERS ONLY: 

Putnam, CT 06260 203-928-3654 



EVENT QUEUE 



quarters. One SME Dr.. POB 
930. Dearborn. MI 48121. 
(313) 271-1500; in Australia, 
Mr. Greco, Integrated Project 
Management Services. POB 
1399. Crows Nest 2065. New 
South Wales, Australia; tel: 
02-439-4014; Telex: 
AA2 5468. ]uly 2-5 

• ADVANCED 
AUTOMATION -Robot 
Manipulators, Computer 
Vision, and Automated As- 
sembly. Cambridge. MA. 
Contact Director of the Sum- 
mer Session, Room E19-3 56. 
Massachusetts Institute of 
Technology, Cambridge. MA 
02139. Ju/y 

• COMPUTATIONAL 
LINGUISTICS-The Twenty- 
Third Annual Meeting of the 
Association for Computa- 
tional Linguistics, University 
of Chicago, IL. Papers, dem- 
onstrations, and tutorials. 
Contact Don Walker (ACL), 
Bell Communications Re- 
search. 44 5 South St., Mor- 
ristown, Nj 07960. (201) 
829-4312. July 8-12 

• SYMPHONY TIPS 

Advanced Symphony, 
Georgia Institute of 'tech- 
nology. Atlanta. Areas 
covered include auto-dialing 
to remote computers and 
"smart" spreadsheets using 
AI concepts to preanalyze 
numeric outputs. The fee is 
$390. Contact Irish Stolton, 
Department of Continuing 
Education, Georgia Institute 
of Technology, Atlanta. GA 
30332. (404) 894-2 547. 
July 9-10 

• AWC CONFERENCE 
The Fourth Annual National 
Conference of the Associa- 
tion for Women in Comput- 
ing, Allerton Hotel. Chicago, 
IL. Workshops and sessions 
on technical and career- 
enhancement topics. For 
more information, contact 
loan Wallbaum, AWCC '85, 
407 Hillmore Dr., Silver 
Spring, MD 20901. 

}uly 13-14 



• THENCC 

The 1985 National Com- 
puter Conference; NCC '85, 
McCormick Place. Chicago, 
IL. Exhibits, technical ses- 
sions, and development 
seminars. This year's theme 
is 'Technology's Expanding 
Horizons." Contact Helen 
Mugnier, AFIPS. 1899 
Preston White Dr., Reston, 
VA 22091, (703) 620-8926. 
Inly 15-18 

• iRMX USERS MEET 
The iRUG Annual Interna- 
tional Conference, Palmer 
House, Chicago, IL. The 
theme is 'The Future Direc- 
tion of Real-Time Software 
Applications." iRUG is a a 
nonprofit organization made 
up of Intel iRMX operating 
system users. Contact 
Catherine Moon. MS/HF2-57. 
Intel Corp., 5200 Northeast 
Elam Young Parkway. 
Hillsboro. OR 97123. (503) 
640-7038. }uly 17 

• SIMULATION 

The 1985 Summer Computer 
Simulation Conference; 
SCSC '85. Westin Hotel, 
Chicago, IL. Contact Charles 
Pratt, Society for Computer 
Simulation, POB 2228, La 
Jolla. CA 92038. (619) 
459-3888. )uly 22-26 

• COMPUTER 
WORKSHOPS-Personal 

Computer Workshops. Aspen 
and Colorado Springs, CO. 
Tutorials, including an intro- 
duction to personal com- 
puters, word processing, 
spreadsheets, and database 
management. Contact Rocky 
Mountain Institute of Soft- 
ware Engineering. 1670 Bear 
Mountain Dr., POB 3521. 
Boulder. CO 80303, (303) 
499-4782. ]uly 22-26 

• SIGGRAPH 

SIGGRAPH '85; The Twelfth 
Annual Conference on Com- 
puter Graphics and Interac- 
tive Techniques, Moscone 
Center, San Francisco, CA. 
Contact SIGGRAPH '85, 

[continued) 



98 BYTE • IUNE 1985 



Inquiry 200 



"EK 



2213A/2215A/2235 

DUAL TRACE OSCILLOSCOPES 



THE ANSWER 

BY ANY MEASURE 



Now! Tek quality and expert advice 
are just a free phone call away! 



The industry 
standard in CRT 
performance. 

Crisp, easy-to- 
read, bright CRT; 
14kV accelerating 
potential, provides 
high writing rate 
and small spot 
size. Full size 8x10 
cm display for 
measurement 
accuracy. 



Display controls 
are flexible and 
easy to use. Sep- 
arate intensity 
controls reduce 
blooming in alter- 
nate sweep mode. 
Focus tracking 
minimizes control 
adjustment and 
BEAM FIND elimi- 
nates confusion. 



Vertical sys- 
tem provides 
measurement 
assurance. Flat 
transient response 
and high accuracy 
ensures true 
reproduction of 
your signals. Fast 
risetime and high 
bandwidth is well 
suited for a variety 
of measurement. 



Perform delayed 
sweep measure- 
ments accurately 
and easily. Both 
sweeps can be 
displayed alter- 
nately making dif- 
ferential measure- 
ments easy and 
accurate (1%). 
An interlocking 
SEC/DIV control 
simplifies set-up. 



Stable hands-off 
triggering. P-P 

AUTO detects sig- 
nal peaks, then 
sets the trigger 
levelforyou. Dis- 
play asynchronous 
signals using 
VERT MODE trig- 
gering. Indepen- 
dent TV field and 
line selection. 



Front panel laid 
out by function 
for ease of use. 

Color coding aids 
the user in opera- 
tion. Functions 
and modes are 
placed logically. 
All nomenclature 
is clearly labeled, 
and protected 
behind a scratch- 
less Lexan surface. 




Our direct order line gets 
you the industry's leading 
price/performance portables. . . 
and fast answers from experts! 

The 60 MHz single time base delay 
2213A, the 60 MHz dual time base 
221 5A and the 1 00 MHz dual time 
base 2235 offer unprecedented 
reliability and affordability, plus the 
industry's first 3-year warranty* 
on labor and parts, CRT included. 

The cost: just $1275 for the 
2213 A, $1525 for the 2215 A, 
$1750 for the 2235.t Even at 
these low prices, there's no 
scrimping on performance. You 



have the bandwidth for digital 
and analog circuits. The sensitivity 
for low signal measurements. The 
sweep speeds for fast logic fami- 
lies. And delayed sweep for fast, 
accurate timing measurements. 
All scopes are UL Listed and CSA 
approved. 

You can order, or obtain 
literature, through the Tek 
National Marketing Center. Tech- 
nical personnel, expert in scope 
applications, will answer your 
questions and expedite delivery. 
Direct orders include comprehen- 
sive 3-year warranty*, operator's 



manual, two 1 0X probes, 1 5-day 
return policy and worldwide ser- 
vice backup. 

Order toll free: 
1-800-426-2200, 
Ask for Rick. 

In Oregon, call collect: 
(503) 627-9000. 
Or write Tektronix, Inc. 
P.O. Box 1700 
Beaverton, OR 97075 



Ttektronix 

coMMrrrED to excellence 



Copyright ® 1985, Tektronix, Inc. All rights reserved. #TTA-439-3. fPrice FOB. Beaverton, OR. '3-year warranty includes CRT. s 



JUNE I985 -BYTE 99 



Inquiry 291 



MICROTIME 

5020 N. ORRCLE, TUCSON, RZ 85704 



SflNVO 



BL $1224 



WORDSTAR • EASYWRITER • CALCSTAR 

MSD0S2.11 • 128KRAM 

(2)360K DRIVES • PARALLEL PORT 

zeiiith moniTOH* Epson hx-bo 



CALL FOR RT8.T 




IBM-PC COMPATIBLE 

BETTER GRAPHICS 

GREATER SPEED 

2400 SERVICE 

LOCATIONS 



RUNS ALL THE BEST SOFTWARE 



SflNVO 




COLOH POHTRBLE • mOIlQ POHTHBLE 
OPTIONAL 10 MEGABYTE HARD DISK 

CALL FOR PRICES 




THE WORD* • MULTIPLAN* 
GRAPHICS CARD • PARALLEL PORT 

320K RAM • (2)360K DRIVES 
ZEMTHmaillTOH • BROTHER Hfl-15 




! BROTHER 2024 

320KRAM* 360K DRIVE "GRAPHICS CARD 
THE WORD** MULTIPLAN** MS DOS 2.1 1 
BH0THEH2024/CABLE • 20 II1EG 10II1EGR 

zi33 coloh moniTOH 



IBM-PC CALL 



\ HIIIllllll I 




HERCULES GRAPHICS CARD 

AST SIX-PACK WITH 64K 
320K RAM • (2) 360K DRIVES 

zEniTH zi24 moniTOH 



's^ci'rl 800-642 7684 

LRSTS ST.LOUIS 773-6951 TUCSON 293-1444 



DISKETTES 



NEW L 

LOWER PRICES! 






^feaifaji 



AND GET A FREE / | 

HEAD 
CLEANING KIT!... 

a $ 10 Value, Yours FREE with a 4 Box Order 

We carry diskettes compatible with 
all 5YV & 3Vz" drives. 

WE'LL BEAT ANY PRICE! 

CALL TOLL FREE 1-800-524-8130 
IL CALL COLLECT 312-455*4488 

DDisk Jockey 
— P.O. BOX 35146 

CHICAGO IL • 60635*0146 



MASTERCARD/VISA/CO.D, 



EVENT QUEUE 



Conference Services Office, 
Smith, Bucklin and Asso- 
ciates Inc.. 1 1 1 East Wacker 
Dr., Chicago, IL 6060 L (3 12) 
644-6610. )u\y 22-26 

• INTELLIGENT MACHINES 
Logic Programming & Expert 
Systems, The TUring Institute, 
Edinburgh, Scotland. Lec- 
tures, demonstrations, and 
sessions on programming 
techniques, system structure, 
and Prolog. Contact The Hir- 
ing Institute, 2 Hope Park 
Square, Edinburgh EH8 
9NW, Scotland; tel: 
031-668-1737. July 24-25 

• TECH CONFERENCE 
Semi-Official Get-together: 
SOG IV, Central Oregon 
Community College, Bend, 
OR. Sponsored by Micro 
Cornucopia, this conference 
features forums on commu- 
nications and single-board 
systems design. Admission is 
free. Contact Micro 
Cornucopia Inc., POB 223, 
Bend, OR 97709, (503) 
382-8048. Ju/u 2 5-28 

• CHEMICAL 

ENGINEERING 
The Seventh C.C.C.E. Na- 
tional Computer Workshops- 
East, Clarkson University, 
Potsdam, NY. Sponsored by 
the American Chemical 
Society Division of Chemical 
Education's Committee on 
Computers in Chemical 
Education and Project 
SERAPHIM. Advanced regis- 
tration is $100. Contact Dr. 
Donald Rosenthal, Depart- 
ment of Chemistry, Clarkson 
University. Potsdam, NY 
13676, (315) 268-6647. 
]uly 28-August I 

• PUBLIC COMPUTING 
The 'I\venty-Third Annual 
Conference of the Urban 
and Regional Information 
Systems Association, Westin 
Hotel, Ottawa, Ontario, 
Canada. The conference 
theme is "Computers in 
Public Agencies, Sharing 
Solutions." Contact URISA 
Secretariat, Suite 300, 1340 



Old Chain Bridge Rd., 
McLean, VA 22101, (703) 
790-1745. ]uly 28-August I 

• COMPUTERS AND 
EDUCATION-The 1985 
World Conference on Com- 
puters in Education. SCOPE 
Convention Center, Norfolk, 
VA. Exhibits, papers, panel 
sessions, tutorials, and 
preconference workshops. 
Contact WCCE/85, AFIPS, 
1899 Preston White Dr., 
Reston, VA 22091. (800) 
622-1985; in Virginia, (703) 
620-8900. )uly 29-August 2 



August 1985 

• ENGINEERING CON- 
FERENCE, EXPO-The 1985 
ASME International Com- 
puters in Engineering Con- 
ference and Exhibition, 
Sheraton Boston Hotel, 
Boston, MA. The theme is 
"Expert Systems: A New 
Dimension in Computer 
Engineering." Contact The 
American Society of 
Mechanical Engineers, 345 
East 47th St., New York. NY 
10017, (212) 705-7100. 
August 4-8 

• EVENT FOR TRAINERS 

COMTRED '85: The National 
Computer Training and 
Education Conference and 
Exhibition, Civic Center, 
Philadelphia, PA. Seminars 
and conferences for edu- 
cators, computer trainers, 
retailers, and distributors. 
More than 50 exhibits. Pre- 
conference workshops on 
August 6. Contact National 
Computer Education Exposi- 
tions Inc., Suite 200, 1411 
Walnut St., Philadelphia, PA 
19102, (215) 972-8792. 
August 7-9 

• TOMORROW'S 

COMPUTERS— International 
Symposium on New Direc- 
tions in Computing, 
Norwegian Institute of 
Technology, Trondheim, 

[continued) 



100 B YTE ■ JUNE 1985 



Inquiry 118 



Introducing the new and improved 

IBMPCH9 95 






Actually, it's not a new 
IBM® PC. 

It's GEM DESKTOP.™ 
The $49.95 software 
breakthrough that makes 
your old IBM PC so aston- 
ishingly easy to use that it 
seems like a new one. 



So long PC DOS, 
hello GEM.™ 

GEM DESKTOP software 
looks like an ordinary floppy for 
your PC. But slide it into your 
IBM's disk drive, and the change begins. 

From this moment on, you can run 
most of the important PC programs— 
but instead of typing cryptic commands 
to get into your program menu, you 
simply point and click your mouse* or 
use your cursor keys to open a window. 
It's like a breath of fresh air compared 
to the complex PC DOS operating sys- 
tem you've been using. 

Point and click vs. stroke, stroke, 
stroke. 

Next, instead of typing and retyping 
long file names, you simply point and 
click again at the appropriate symbols. 
And voila! Your file appears on screen. 
But it's not quite the same screen 
you've been used to. 



Simple menu headers at the top to 
guide you effortlessly from one func- 
tion to the next. So instead of making 
more complex keystrokes that can 
easily be mistyped, your IBM PC is 
easier and faster to use than ever 
before. There is also a clock and a 
calculator both built right in. 

Indispensable. And only $49.95. 

Your GEM Desktop includes all 
operating system interface software 
and comes with amazingly simple 
instructions. In fact, GEM DESKTOP 
software makes it possible, for the first 
time, for anyone to learn to use an 
IBM PC. (Who knows, maybe even 
the most dedicated computerphobes in 
your company will warm up to the PC, 
after this.) 

And you can just as easily justify 
the cost— only $49.95 for complete 
operating package. Which makes it 
affordable enough to have several. 

If you can use a phone, you can 
have GEM DESKTOP. 
Right Now. 

To order GEM DESKTOP, just call 
toll-free (800) 443-4200. Charge your 
order to your Visa, MasterCard or 
American Express. While you're on 
the line ask us about GEM DRAW,™ 



our nifty $149.00 graphics package with 
an extensive gallery of art. 

Or mail this order form, along with 
your payment. 



[nI] 



' GEM requires that your cojnputer have appropriate graphics capability and that the pointing device be compatible.Call for exact requirements. 
GEM, GEM DRAW and GEMDESKTOPare trademarks of Digital Research Inc. IBM is a registered trademark of International Business 
Machines Corporation. Digital Research is a registered trademark of Digital Research Inc.© 1985, Digital Research Inc. All rights reserved. 

Inquiry 139 



Name. 



Address . 

City 

State 



_ZIP. 



GEM DESKTOP 

$49.95 plus $3.00 shipping and 

handling. 

GEM DRAW 

$149.00 plus $4.00 shipping and 

handling. 

Applicable sales or use tax will be added. COD, 
checks or purchase orders will not be accepted. 
(Outside USA add $10.) 

Method of payment. Circle one. 

VISA MASTERCARD AM. EX. 

Card number 

Exp. date 

Signature 

Mail to: GEM Software 

Digital Research Inc. 

60 Garden Court 

Box DRI 

Monterey, C A 93942 

Or call (800) 443-4200. 



SGEM 



FROM DIGITAL RESEARCH® 



Inquiry 204 



HARMONY VIDEO & COMPUTERS 

2357CONEY ISLAND AVE.. BROOKLYN. NY 11223 
800VIDEO84 OR 800-441-1144 OR 718-627-1000 









IBMPC256K 


COMMODORE 64 


\^L_^a 


w 




$1248.95 




$149.95 






STAR SG 10 


APPLE2Ew/DRIVE 








$212.50 




$819.95 






< 


'PRINTER SPECIALS" 




Brother HR15 XL 




338 


Jukl6100 Televldeo 


349 


Panasonic KXP 1093 474 


Brother HR 35 




770 


Juki 6300 


687 


Panasonic XKP 3151 442 


Brother Keyboard 




120 


Mannesman Spirit 80 


174 


Powertype 275 


Citizen MSP 10 




289 


NEC 2050 


824 


Rlteman Blue + 198 


Citizen MSP 15 




468 


NEC 3550 


999 


StarSGlO 209 


Corona Laser 




2496 


NEC 7730 


1399 


StarSG15 347 


Daisywrlter 




728 


NEC 8850 


1399 


StarSDIO 318 


Epson RX80FT + 




249 


Nee p3 or p2 


832 


StarSD15 411 


Epson RX80 




194 


Okldata92 


349 


StarSRIO 457 


Epson RX 100 




374 


Okldata93 


584 


StarSR15 552 


Epson FX B0 




329 


Oklmate 10 


125 


StarSBIO 878 


Epson JXB0 




548 


Olympal Compacl 2 


338 


Silver Reed Exp 550 364 


Epson FX 100 + 




514 


Olympalro 


297 


Silver Reed Exp 500 249 


EpsonLO1500 




909 


Panasonic KXP 1091 


249 


Silver Reed Exp 770 850 


HP Laser Jet 




2808 


Panasonic KXP 1090 


174 


Toshiba 1340 515 








Panasonic KXP 1092 


338 


Toshiba 1351 1103 



WOW! WOW! WOW! 



IBM 




PCw/Drlve 


1249 


PCXT 


1899 


IBM Drive 


189 


ASTSIxPack 


209 


Taligrass20Meg 


2252 


Quad Board 


221 


Keytronlcs 


129 


Hercules Color 


140 


Hercules Monochrome 


279 


Paradise Graphics 


252 


Paradise Multl Display 


273 


STB Graphics +2 


248 


STB R10-2 


236 


Tecmar Graphics 


439 


Tecmar Captain 


189 


Persyst Monocard 


182 


Bernouli Box 


1935 


10 Meg Drive 


593 


Joystick 


28 


Tandon 100-2 


104 


ZENITH 




Zenith PC 2150 


1619 , 


Zenith PC 15152 


2057 | 


Zenith PC161-52 


2204 y 



APPLE 




MONITORS 




2EwfDlsk Drive 


819 


Amdek 300 Green 


109 


Macintosh 


1352 


Amdek 300 Amber 


109 


Apple 2C 


879 


310 Amber 


142 


magewrlter 


468 


Color 300 


205 


Addt. Drives from 119 


Color 500 


274 


Modem 12 


429 


Color 600 


374 


ATARI 




Color700 


419 


BOO XL 


96 


Color 710 


505 


1027 Printer 


224 


PrlnctonHX12 


419 


1050 Drive 


146 


PrlnctonMax12 


159 


Indus. Drive 


219 


Taxan 122A 


135 


1025 Printer 


156 


Taxan420 


390 


Rana 1000 


167 






Koala Pad 


32 


SANYO 




Printerl/F 


49 


550 D.S. 


645 


MODEMS 




555 D.S 


947 


Hayes 1200 


375 


MBC 775 


1727 


Hayes 1200B 


312 






Hayes 300 


177 


COMMODORI: 


v1lcromodem2E 


204 


Commodore84 


127 


Novation J-cat 


89 


1541 Disk Drive 


172 






1702 Monitor 


182 








182 


800-441-1 


144 


Indus. Drive 


219 



Items reflect cash discount. For your protection we check for stolen credit cards. 



YOUR COMPUTER'S FUTURE 



rpopttons 

II odd accept list q 

•pdisplay 

which(_medicatio 

aspirin 

panadol 

alcohol 

no(more)ansver3 



delete kill load save clear quit 



-patient should- take -medication if 

_patient complains- of ^symptom end 
-medication suppresses -symptom 




LPA micro- PROLOG professional is a new more powerful 
version of LPA micro-PROLOG with its own window handling 
primitives and "Wordstar- like" screen editor. With 
"Macintosh-style" menus and windows, LPA micro- 
PROLOG professional is fully integrated with the MS DOS 2 
environment using all the memory available. 

LPA micro-PROLOG professional is considerably faster 
than LPA micro-PROLOG 3.1 and is an unbeatable 
production tool for Artificial Intelligence programs, writing of 
Expert Systems and the rapid prototyping of micro computer 
software. 
Launch price US $395. 00. Upgrade price is US $ 1 95.00. 



For mformanoncontact — 
NORTH AMERICA 

PB Programming Loge System Inc, . 
rmt 31 Crescent Dnve. Mitford. CT 06460. U.S.A. 
Tel: (203) 877 7988 



REST OF THE WORLD 

"o*!] Logic Programming Associates Ltd., Dept. BY/2 
rrfl 1 0Burntwood Close, London SW183JU 
Te). 01 -874 0350 



EVENT QUEUE 



Norway. Contact New Direc- 
tions in Computing, IEEE 
Computer Society. POB 639, 
Silver Spring. MD 2090I. 
August 1 2- 14 

• GRAPHICS 

Ausgraph '85, Brisbane, 
Queensland, Australia. 
Australia's first international 
conference and exhibition 
on computer graphics. Con- 
tact Conference Secretariat, 
Ausgraph '85, POB 29, 
Parkville, Victoria 3052, 
Australia; tel: (03) 387 9955; 
Telex: AA 33761. 
August 12-16 

• COMPUTER SWAP 

Northwest Computer Swap 
Number 9, Fiesta Exhibit 
Hall. San Mateo County Fair- 
grounds, San Mateo, CA. 
Admission is $5. Contact 
Northwest Computer Swap, 
4883 'Ibnino Dr., San jose, 
CA 95136, or call Robert 
Kushner, (408) 978-7927. 
August 17 

• AI INVESTIGATED 
IjCAI-85: The International 
joint Conferences on Arti- 
ficial Intelligence, University, 
of California, Los Angeles. 
Topics include AI architec- 
tures and languages, intel- 
ligent CAI, automated rea- 
soning, and expert systems. 
Tutorials. Contact IJCAI-85, 
American Association for 
Artificial Intelligence, 445 
Burgess Dr., Menlo Park, CA 
94025, (415) 321-1118. 
August 18-24 

• FOR EDUCATORS 

Innovative Applications of 
Microcomputer Technology 
in Vocational Education, 
University of Wisconsin, 
Madison. The emphasis will 
be on interactive video, net- 
working, hard-disk systems, 
and telecommunications for 
agriculture, education, and 
health applications. Contact 
Dr. Judith Rodenstein, Voca- 
tional Studies Center, 964 
Educational Sciences 
Building, University of 
Wisconsin-Madison, 1025 



West Johnson St., Madison, 
WI 53706, (608) 263-4367. 
August 19-21 

• INTERFACING 
WORKSHOP-Personal Com- 
puter and STD Computer In- 
terfacing for Scientific Instru- 
ment Automation, 
Washington, DC, area. A 
hands-on workshop with 
each participant wiring and 
testing interfaces. The fee is 
$450. Contact Dr. Linda 
Leffel, C.E.C., Virginia 
Polytechnic Institute and 
State University, Blacksburg, 
VA 24061, (703) 961-4848. 
August 22-24 

• OFFICE AUTOMATION 
EVENT-INTECH '85: The In- 
tegrated Information r fech- 
nology Conference and Ex- 
position, Moscone Center, 
San Francisco, CA. An 
office-automation forum. 
Contact Jill Nieman, National 
Trade Productions Inc., Suite 
400, 2111 Eisenhower Ave., 
Alexandria, VA 22314, (800) 
638-8510; in Virginia, (703) 
683-8500. 

August 26-29 

• VIDEODISC 
CONFERENCE-The Fifth 
Annual Nebraska Videodisc 
Symposium, University of 
Nebraska, Lincoln. The 
theme is "Videodisc— The In- 
dustry Comes of Age." Panel 
discussions, presentations, 
and exhibits. Registration is 
$375. Contact Videodisc 
Design/Production Group, 
KUON-TV/University of 
Nebraska-Lincoln, POB 
83111, Lincoln. NE 68501, 
(402) 472-3611. 

August 27-30 

• NEW ZEAL ANDERS 
CONVENE-The Ninth New 
Zealand National Computer 
Conference, Sheraton, 
Auckland, New Zealand. 
Speakers, panel sessions, 
and exhibits. For details, 
contact Conference Commit- 
tee, POB 3839, Auckland, 
New Zealand. August 
27-31 ■ 



102 B YTE • JUNE 1985 



Inquiry 253 



" Quick! Find the Accounts Receivable File. 






V 



^^ 




>m 



You just experienced one of the benefits of CenTech Color Diskettes. 



They're easy to find. 

Now you can locate everything 
from Accounts Receivable to Payroll; 
and you can do it at the speed 
of color. 

CenTech Color Diskettes are 
the logical solution to data 
organization. They come in 13 
useful colors, to give you more 
color coding possibilities. 

Designed, engineered, and 
manufactured in America to 
specifications and standards that 
exceed those developed by the 
industry. CenTech diskettes are 
exceptionally consistent in 
accepting and maintaining data. 

CenTech is a registered name 0/ Cenna Technology, Inc. 



Every diskette is tested, certified, 
and warrantied to be 100% error free 
and free of manufacturing defects, or 
we will replace it at no charge. 

Cost competitive, color 
diskettes by CenTech. Engineered 
to surpass the best the world has 
to offer. 

Ask for CenTech Color Diskettes 
byname at your dealer, or become a 



YCenTec!! 



F! 



dealer yourself by calling toll free: 
(800) 255-3999, or write 
CenTech, 185 Cottage Avenue, 
Sandy, Utah 84070. 
Telex: 499-6093 



llCENTECh 



® 



The Cdbrful Solution to Data Organization™ 




© 1985 Cenna Technology, Inc. 



Inquiry 78 



JUNE 1985 -BYTE 103 



Discover what 50,000 




eUBIE' delivers the finest peripheral 
available in terms of features, reli- 
/ and price/performance. That's why 
corporations like IBM, GM and Exxon buy 
peripheral equipment from Qubie', and 
have for years. Check some of your old 
back issues of PC — we've been satisfying 
PC owners since 1982. 

Select products at low prices, with service and support un- 
paralleled in the microcomputer industry. Our 30 day No Risk 
Guarantee and 48 Hour Repair Service during the 12 month 
warranty period is proof our products are first rate. We stand 
behind everything we sell. No "call the manufacturer" re- 
sponses when you have a question. We also offer our exclusive 
Preferred Customer Plan* ' with 24 hour repairs and 24 months 
of coverage. 

Our low, money-saving prices are the total prices. No small 
print telling you to add up for credit card charges or shipping 
and handling. Our prices include surface UPS charges and 
insurance. In a hurry? 2-day air UPS service is available.* 2 



% ©f ;T^ r> * ::: ' : " "^ 
$*. ®$®' ----- \ 

ft 8, ■ ''£s^ 5S««s 



At Qubie', customer satisfaction 
is one of the cornerstones of our 
philosophy. Ask your friends, 
business associates and colleagues 
about Qubie'. Chances are they 
are one of our fifty thousand satis- 
fied customers. 






r OVOTA 



INTERNAL MODEM 

PC212A/ 1200 $249 

Auto-dial, Auto-Answer • 300/ 
1200 Baud Operation • Runs 
Hayes Compatible Software 
Like Crosstalk, Smartcom II, 
and Sidekick • Two Phone 
Jacks Allow You To Hook Up 
Desk Phone • Includes PC- 




TALK III Software (Complete 
Communications Package), 
Modular Phone Cord, User's 
Manual / Installation Instruc- 
tions • Optional Serial Port 
($30) Allows You To Use Port 
For Other Peripherals When 
Modem Is Not Being Used. 



STANDBY POWER 
SUPPLY 

SB200 $329 
XT300 $429 
AT800 $779 



Quae' 





el 



Noise Filtering/Surge Suppres- 
sion • Powers Your Computer 
For Up To 30 Minutes In The 
Event Of A Blackout Or Brown- 
out • SB200 (200 Watt) For 
Floppy-Based Systems, XT300 
(300 Watt) For Hard Disk Based 
Systems, AT800 (800 Watt) For 
Multi-User Systems 

HIGH RESOLUTION 

MONOCHROME 

MONITORS 

HR39$149 
HR 134 $159 

Plugs Into The IBM Mono- 
chrome or Compatible Adapter 
Card • 720 x 350 Resolution • 
12" Diagonal Screen • Super 
Crisp Text Capability • High 
Resolution TTL • Includes 
Tilt/Swivel Base and Inter- 
face Cable • HR 134 (Amber) 
HR 39 (Green) 

MULTIFUNCTION CARD 

BT6Plus(0K)$195 
BT6Plus (384K) $299 

Memory Sockets For Adding 
Up To 384K • Parallel Printer 
Port • Asynchronous Serial 
Communications Port • Battery- 
powered Clock / Calendar • 
BTPak Software - BTDrive 




(Electronic Disk 
Emulation) and BTSpool 
(Print Spooling Software) 



104 BYTE • IUNE 1985 



PC owners now know. 



Optional Game Port — Chips, 
Dual Mounting Bracket and 
Cable ($20) • 64K Memory - 
Installed and Tested ($25) • 
Includes Cable, Single Slot 
Mounting Bracket, Instal- 
lation Instructions / User's 
Manual 

INTERNAL HARD DISK 
SUBSYSTEMS 

PC 10 $649 
PC20 $699 

Boot From The Hard Disk — No 
Software Patches or Drivers To 
Install • Runs All The Popular 
Software • 





Low Power Consumption • 
High Reliability And Durabil- 
ity — Specially Plated Drives • 
Faster Access Time Than XT • 
Includes ldir "Visual Shell" 
Software, Cables, Mounting 
Hardware, Installation Instruc- 
tions/User's Manual, Full- 
Height Bezel — Optional 
Half-Height Bezel ($15) • Aux- 
iliary Power Supply And 
External Models Are Also 
Available. 



Adjustment • Keys In Standard 
Typewriter Positions • Sepa- 
rate Cursor Control and 
Numeric Keypads • Easy-To- 
Read Key Legends • LED 
Indicators On All Lock Keys • 
Extra-Wide Left-Hand Control 
Key Adjacent To "A" • Control/ 
Reset Replaces Awkward 
Contol/Alt/Delete • Plugs Into 
IBM PC, PC/XT and Compaq 
Deskpro 



1 1- 1 1- t 1 1" I- 1- 1- 1" IhM-lk 


1- 




-|; IMHMMHUMUU-M- 


- t 


■:u *;f^ 


p-M'N'I'N'MMM'Ki 


- * r; 






tof. d*MM'MM J "N> 'lif^ 


* 


■ ; 




l*if* M'M'l-N'hM' i- I 


,. , B£ 











KEYBOARD 

M5151 $159 

Solid State Capacitive Key 
Switches • 3-Position Height 

Inquiry 34 7 





EXTERNAL MODEM 

212A/1200ES299 

Auto-dial, Auto-Answer • 300/ 
1200 Baud Operation • Runs 
Hayes Compatible Software 
Like Crosstalk, Smartcom II, 
And Sidekick • Two Phone 
lacks Allow You To Hook Up 
Desk Phone • RS-232C Com- 
- patible • Includes 8' Shield- 
ed Cable (Specify Male Or 
Female) • Eight Status Indica- 
tor Lamps • External Volume 
Control Knob 



HIGH RESOLUTION 
COLOR MONITOR 

HR3 1200 $439 

14" Diagonal Screen • 
Black Matrix Picture 
Tube • Dot Pitch .31mm • 
Plugs Into IBM Color/ 
Graphics Or Compatible 
Adapter Card • 640 x 200 
Resolution • Includes Inter- 
face Cable And Tilt / Swivel 
Base 



*1 *2 

PREFERRED UPS 

CUSTOMER BLUE 

PLAN LABEL 

PC10 and PC20 .... $150.00 $12.00 

Modems 50.00 5.00 

ff5151 35.00 7.50 

BT6Plus 50.00 5.00 

HR 39 and HR 134 ... . 50.00 NA 

HR31 200 95.00 NA 

No Risk Guarantee 

If you are not completely satisfied 
with your purchase, you may return 
it within 30 days for a full refund, in- 
cluding the cost to send it back. 

The Acid Test 

If you can get any dealer or competi- 
tor to give you the same No Risk 
Guarantee, buy both products and 
return the one you don't like. 

For fastest delivery, send cashier's 
check, money order, or order by 
Mastercard/Visa. Personal checks, 
allow 18 days to clear. Company 
purchase orders accepted, call for 
prior authorization. California resi- 
dents, add 6% sales tax. 



Hours: M-F 8 am-5 pm PTZ 
Sat 9 am- 1 pmPTZ 
London (01) 223-4569 
Paris (01)321-5316 
Sydney (02) 579-3322 



VISA 



.■BEfiS 



Outside California 



1-800-821-4479 



Inside California 



1-805-987-9741 

4809 Calle Alto 
Camarillo. California 93010 

qubie 1 

Order Today, 
Shipped Tomorrow!™ 



JUNE 1985 -BYTE 105 



BVTE 



Features 



Interactive Audio in a Videodisc System 

by \ohn lawler. Paul Hairsine, 

and Albert E. Miller 108 

Ciarcias Circuit Cellar: 

Build the Home Run Control System. 

Part 3: The Software 

by Steve Garcia . . 121 

SALT 

by Samuel D. Fenster and Lincoln E. Ford. .147 

The SUM: An AI Coprocessor 

by Phillip Robinson 169 

Inside AppleTalk 

by David Ushijima 185 

The Expert Mechanic 

by Michael Fkhtelman 205 

Switch 

by Werner F. Grunbaum 221 

Twos-Complement Numbers Revisited 

by Gary Bronson and Karl Lyon 228 



LAST JULY OUR THEME was computers and video. This month we present 
a different aspect of this interesting topic. John Lawler, Paul Hairsine and Albert 
Miller explain the design and operation of the Search 400-R audio box, which 
transfers sound from a cassette recorder to videodisc systems. 

June also sees Steve Ciarcia finishing up his Home Run Control System (HCS) 
project by describing the system's software. The heart of the HCS is an 
interrupt-service routine. All of the system's other functions are subroutines 
that are called from this main routine. 

Prior to the development of their SALT language, Samuel Fenster and Lincoln 
Ford spent a lot of time developing programs that would accommodate their 
work in research laboratories. SALT is a threaded interpretive language that 
performs repetitious procedures rapidly and does not use much memory 
space. 

Phillip Robinson, a senior technical editor in our Palo Alto office, looks at 
the SUM coprocessor, which is being developed for computers geared toward 
AI programming. Originally, the SUM research team planned to develop a 
unification chip, but it became clear that at present levels of integration a 
single chip would be impractical; therefore, the group decided to design a 
full-blown processor. 

In February our BYTE West Coast staff previewed AppleTalk in 'The Macin- 
tosh Office" (page 120). This month David Ushijima takes a closer look at 
Apple's new local-area network (LAN), which is designed to let Apple and 
non- Apple products communicate and share resources. AppleTalk is extremely 
flexible and can be used in three ways: as a peripheral bus, as a small LAN, 
or as a path to a more complex network. 

Imagine your computer taking the place of your car mechanic. Michael 
Fichtelman presents an expert mechanic program written in Logo. The ex- 
pert mechanic analyzes problems with knowledge-base searches— probing until 
the source of the mechanical problem is found. This program could serve 
as a model for many areas of expertise. 

Switch is a BASIC program for IBM PCs that enables you to use both mono- 
chrome and color monitors at the same time. Werner F Grunbaum shows you 
how to write graphic instructions on your monochrome monitor and display 
the results on your color monitor— a neat idea. 

Converting negative numbers on a computer can be difficult. Gary Bronson 
and Karl Lyon show us a new two's-complement conversion method using the 
"value box," which simplifies the process by visually connecting a two's- 
complement binary number to its decimal value. 

—Phil Lemmons, Anne Fischer, and loan Roy, BYTE 



JUNE 1985 -BYTE 107 



Interactive 
Audio in a 
Videodisc System 



Create various 



sound tracks for 
your videodisc show 



Microcomputer-driven 
videodisc teaching 
systems usually con- 
sist of a microcom- 
puter, such as an Apple lie or an IBM 
Personal Computer (PC), and a video- 
disc player controlled externally by 
computer. Some systems also use an 
input device like a TSD (touch- 
sensitive display) or a mouse. The 
system described in this article con- 
sists of a microcomputer (which con- 
trols the videodisc player), a TSD, and 
an external audio system that uses or- 
dinary cassette tapes. (For an in-depth 
discussion of videodiscs, see "Video- 
discs and Computers" by Stan Jarvis, 
July 1984. BYTE, page 187.) 

While you can use videotape 
players interactively, videodiscs are 
more readily controlled by computer, 
have much faster interimage access 
times, and can store up to 54,000 
frames on one side. You can also con- 
nect a TSD so that the computer can 
determine what action to take de- 
pending on the area of the screen you 
touch. 

Such a system needs computer con- 
trol. While some videodisc players 
have a small amount of memory and 
therefore can have rudimentary pro- 
grams encoded on the actual video- 
disc, a microcomputer-driven system 



is infinitely more versatile. 

Software written for the computer 
can easily drive not only the videodisc 
player but other connected devices as 
well. These programs offer you higher 
levels of interactivity because most 
computers are not limited to small 
amounts of memory. Keep in mind 
that the interactivity of such a system 
comes not from the media (videodisc, 
etc.) but from the computer program. 
How well it uses the various parts of 
the system and the techniques of an 
effective presentation determines the 
success of your videodisc system. 

You can create teaching packages 
with slides and videotaped motion se- 
quences that have been transferred 
onto the videodisc and mixed with 
computer text and graphics either on 
the videodisc or overlaid on the 
videodisc image on the display. The 
resulting system is not merely an ex- 
pensive, glorified slide show. You can 
have as interactive a teaching tool as 
you want as long as it is controlled by 
computer. You can easily program as 
many help buttons, quizzes, etc., as 
you need using the information on 
the videodisc. There are many appli- 
cations for such a system in all phases 
of education— lab work, review, 
remedial help, self-paced courses, 
etc.— and at any grade level. 

While pictures and animation may 
serve many purposes, speech and 
sound are often invaluable. Most 
videodiscs have an audio track for 
recording sound. But while sound can 
accompany a sequence of frames 
(animation), such as a space-shuttle 
launch, it cannot accompany a single 



still picture because a single frame 
does not have enough space to hold 
it. There are two ways around this. 
One is to show many copies of the 
same picture, one after the other, or, 
in other words, animate it. This is the 
same as showing a sequence, and 
sound can accompany it. But even a 
1 5-second use of videodisc-recorded 
sound uses 450 copies (30 frames = 
1 second of motion) of one picture, 
an obvious waste of space. Sony has 

[continued) 

]ohn lawler is currently a junior at the 
University of Notre Dame majoring in elec- 
trical engineering with a concentration in com- 
puter engineering. 

Paul Hairsine, who designed the board 
described in this article, has both a B.S. and 
an M.S. in electrical engineering from Notre 
Dame and is currently working at McDon- 
nel Douglas. 

Albert E. Miller is a graduate of the Col- 
orado School of Mines and has a PhD. from 
\owa State University. He is a professor in 
the Department of Metallurgical Engineering 
and Materials Science at Notre Dame and 
directs a group involved with interactive 
videodisc systems for training purposes. All 
authors can be reached at the University of 
Notre Dame, Department of Metallurgical 
Engineering and Materials Science, Notre 
Dame, IN 46556. 



108 B YTE • IUNE 1985 



by John Lawler, Paul Hairsine, and Albert E. Miller 




ILLUSTRATED BY FRANK LEVY 



JUNE 1985 -BYTE 109 



INTERACTIVE AUDIO 



The Operation 
of the Search 40OR 



The Search 400-R is a self-contained 
box consisting of a cassette deck 
mounted on an electronics board, a 
keyboard control with a light-emitting 
diode (LED) display, and a 16-pin dual- 
inline-package (DIP) cable connected 
to a computer interface. You can 
operate the unit manually or by 
computer. 

The main difference between the 
Search 400-R audio system and a nor- 
mal cassette player is in the way you 
record sound on the tape. Normal 
cassette tapes have only one track, or 
one recording surface, on which to 
record sound. The Search 400-R audio 
box. however, divides the tape into 
four tracks, each of which can be 
recorded on separately. It sections 
each track further into either 2 5, 50, 
or 100 locations. Therefore, you can 
divide a standard CI 20 (2-hour) tape 
into as many as 400 locations. How- 
ever, tracks have a finite amount of 
recording surface, so the more loca- 
tions you have per track, the less sound 
you can fit into each location. With 100. 
50. or 2 5 locations per track, you can 
have 0.5. 1.1, or 2.3 minutes of audio 
per location, respectively. A by-product 
of this recording scheme is an in- 
creased tape capacity— from the 
original 2 hours to as much as 3.83 
hours (4 tracks x 2 5 locations per track 
x 2.3 minutes per location). 

The Search 400-R is especially useful 
in a computer system because the tape 
locations are accessed randomly. This 
shortens the time between requesting 
a location and playing it. Accessing a 
location 2 5 minutes away from your 
current position takes about 12 
seconds; the search time between ad- 
jacent locations is substantially less— 
approximately I second for each loca- 
tion; i.e., it takes 10 seconds to jump 
10 locations. These locations are in- 
dexed from 00 to 99 while track selec- 
tions are 1 through 4. 

The deck finds various sections of 



One by-product is a 

greater tape capacity: 

as much as 3.83 hours 

on a 2-hour tape. 



audio by counting the number of times 
the tape reel turns. This indirect 
method of addressing specific tape 
locations results in high-speed 
searches without tape-to-head contact. 
There are up to 100 locations per track, 
and each needs a particular number of 
reel turns to be found; these numbers 
are stored in the Search 400-R's on- 
board ROM (read-only memory). The 
deck counts the number of reel turns 
optically and saves it in an up-down 
counter, which is then compared to the 
number stored in ROM. Then the deck 
fast forwards or rewinds itself as 
necessary to find the desired location. 

One inherent source of error in such 
reel-count methods is the variable 
packing density of different tapes. How 
tightly or loosely the tape is wound 
around the reel can distort the reel 
count enough to compare incorrectly 
with the number stored in ROM. This 
results in selecting the wrong audio 
location. Differences in packing density 
arise because the take-up reel winds 
the tape more tightly during fast for- 
ward than during normal play. The 
reverse reel, however, maintains a con- 
sistent packing density regardless of 
the operation. The Search 400-R, there- 
fore, counts the number of times the 
reverse reel turns to minimize the dif- 
ferences in reel counts. 

Another possible source of error is 
uneven braking, To stop the tape, the 
deck sends equal amounts of braking 
currents to the two reels. However, 
momentum causes the reel containing 
the larger amount of tape to stop more 



slowly. The Search 400-R alleviates this 
problem by boosting the braking cur- 
rent to this reel, so both reels stop at 
the same time. 

Counting errors can also occur if the 
deck goes directly from, for example, 
fast forward to rewind. This doesn't 
always allow enough time to properly 
update the reel count. The Search 
400-R avoids this by not allowing the 
audio deck to switch modes (i.e.. play 
to rewind) until it stops completely and 
updates the reel count. Therefore, the 
deck can search for specific audio loca- 
tions with a great deal of accuracy. 

The audio deck has more than one 
format of operation, that is. 2 5, 50. or 
100 locations per track. A small rotary 
switch inside the audio box selects the 
mode. You can access this switch by 
removing the four screws on the back 
of the unit and sliding the deck out of 
its housing. The switch simply selects 
which portions of the ROM will be ad- 
dressed, either manually or by com- 
puter. 

The longest piece of audio any loca- 
tion can hold is 2.3 minutes. However, 
this does not preclude a 5-minute ex- 
planation, [f the audio content in a par- 
ticular location exceeds the defined 
length, the deck continues to record, 
but it erases whatever is in the next 
location; likewise, it is erased if you 
record another piece of audio in that 
next location. 

To facilitate manual operation of the 
Search 400-R. the audio box is 
equipped with a 16-button keypad, an 
LED readout, a manual track selector, 
a volume control, and status lights. The 
keypad contains the following keys; 



0-9 


address digits 


A 


run 


B 


fast forward 


C 


stop 


D 


rewind 


* 


search 


# 


record 



110 BYTE • IUNE 1985 



INTERACTIVE AUDIO 



The front panel also contains three 
side switches: auto run, auto search, 
and auto repeat. When you set auto 
search on, the deck begins to search 
as soon as you enter the two location 
digits. When auto run is turned on, the 
deck doesn't wait for the actual run 
command but plays the message as 
soon as it is found. Auto repeat con- 
tinues repeating the message until you 
enter a stop command. These three 
functions are useful in manual mode, 
but you should turn them off if you are 
running under computer control to 
prevent messages from playing before 
you want them to. 

The deck also has a silence-sense cir- 
cuit that detects the end of the audio 
and automatically stops the deck after 
2.5 seconds of silence. This circuit 
senses the sequence of audio then 
silence, so that the silence before the 
audio doesn't stop the deck. 

The following operating procedure 
applies to both manual and computer 
control of the Search 400-R. It is im- 
portant to remember that you can 
manually override computer control. 
When you insert a new tape into the 
audio deck or turn the deck on, you 
(or the computer) first issue a rewind 
command to properly reset the reel 
counter. Then you enter the appropri- 
ate track and location information 
followed by a search command. After 
the search completes, the bulb next to 
the search button lights up to tell you 
that the audio deck is waiting for a new 
command. If the box is under com- 
puter control, the bulb lights up, and 
the computer is informed of its status. 
Then you enter the run command so 
the message found by the search will 
begin to play. When the message ends, 
the deck stops and the bulb next to the 
stop button lights up, indicating that it 
is ready for new selections and com- 
mands. If any of the side switches, such 
as auto run, are on, some steps will be 
done automatically. It is important that 
the track and location entered be con- 
sistent with the internal settings of the 
machine. In other words, you can't ef- 
fectively search for location 78 when 
the system is set up for 50 locations. 

The audio deck can record tapes as 



well as play them. When you press the 
# button— or the computer sends the 
record command— the system enters 
record mode provided the record- 
protect tab on the tape has not been 
removed. The deck does have some 
idiosyncrasies that you need to under- 
stand. It has a four-track format but 
only two tape heads. Each head covers 
a pair of tracks (tracks I and 2 and 
tracks 3 and 4). When recording in 
stereo, this causes no problem because 
you are recording two tracks simulta- 
neously. When recording in mono, 
however, you must be careful not to 
erase locations. The circuitry of the 
audio deck requires that you select 
track 2 or 4 to activate the tape heads. 
This means that you should record 
track 2 before track 1. and track 4 
before track 3. Otherwise, while you 
are recording one track, you will be 
erasing the other. You also have an 
automatic volume control when you 
record a tape. The Search 400-R user's 
manual contains instructions on how 
to adjust it. 

The general operating procedure for 
recording a tape is basically the same 
as for playing it. After you insert the 
tape in the deck, you fast forward it to 
the end and then completely rewind it. 
This resets the reel counter and en- 
sures proper packing density. (It is not 
necessary to fast forward and rewind 
the tape just to play it, but it won't hurt 
either.) After the tape stops, you give 
it the record command, either pro- 
grammatically or manually with the # 
button. Then you enter the track and 
location you wish to record. A search 
command advances the tape to that 
location, and when the search status 
light goes on, you enter the run com- 
mand to start recording. A built-in 
delay mutes the recording for two sec- 
onds to provide a gap between loca- 
tions; this allows for small deviations 
in searching for a location. When the 
commence light appears, you speak 
your message into a microphone; 
when you finish, you enter the stop 
command. Pressing the # button 
returns the deck to playback mode, 
where you can check the location and 
message you have just recorded. 



a way of recording sound on a video- 
disc while showing only one frame, 
but it too uses a great deal of space. 

Another problem with recording 
sound on a videodisc is that once 
recorded it is permanent. At the pres- 
ent time you cannot erase videodiscs. 
This is not a problem unless you 
decide that some recorded sound se- 
quence isn't very clear; how can you 
change it? You could make another 
videodisc for a few thousand dollars, 
or you could use an external audio 
box. 

The audio box described in this ar- 
ticle uses cassette tapes, so if the 
sound is not right, you can simply 
record over it. allowing greater 
presentation flexibility. Indeed, the 
combination of a computer and a 
separate audio box means that you 
can make one videodisc master and 
use it for two completely different 
groups. Assume, for example, that you 
want to use a videodisc about the 
space program for both grammar 
school students and aerospace engi- 
neering students. Since the two 
groups have different comprehension 
levels, you would gear a different pro- 
gram and audiotape to each group— 
an easier one for the grammar school 
students and a more difficult one for 
the college students. 

Recording sound onto cassette 
tapes is not enough; you must inte- 
grate the audio box into the sys- 
tem—it must be controllable by the 
computer. It must also have facilities 
for random access— given the loca- 
tion, to quickly find some piece of 
sound without searching the entire 
tape. And there must be some sort of 
interface between the computer and 
the audio box. 

We decided to include audio capa- 
bilities in our interactive video system 
and to begin with something simple 
and inexpensive. And we wanted an 
easily erasable, readily available re- 
cording medium— essentially a com- 
puter-controlled cassette tape re- 
corder. This need was met by the 
Search 400-R by Phi lechnologies. 

The Search 400-R is a self-contained 
box consisting of a cassette deck 

[continued) 



JUNE 1985 • BYTE III 



FINALLY! MAIL ORDER SERVICE YOU CAN DEPEND ON! 




BUSINESS SOFTWARE 

PROFESSIONAL SUPPORT PLUS RELIABLE PERSONALIZED SERVICE 
AND WE'LL STILL BEAT MOST PRICES IN THIS MAGAZINE! 



WORDSTAR 
PROPAK 

$239 


SYMPHONY 

$419 



SIDEKICK 
(C.P.) 

$35 



SUPERCALC 

3 

$189 



WORD 
PERFECT 



$235 



LOTUS 
1-2-3 



$309 



AID 

Typequick 

ALPHA SOFTWARE 

Data Base Manager 2 

ANDERSON-BELL 

Abstat 

ASHTON-TATE 

DBase II 

D Base III 

Framework 

Friday 

ATI 

Training Word Star 

Training dBase III 

BPI 

General Accounting 



85 69 

295 169 

395 267 

495 CALL 

695 CALL 

695 CALL 

295 CALL 



75 
75 



45 
45 



595 399 



BORLAND INTERNATIONAL 

Superkey 54 42 

Turbo Graph 54 42 

Toolbox 54 35 

Turbo Pascal 54 35 

CDEX 

Advanced Lotus 1-2-3 70 45 

CHANG LABS 

Rags to Riches Ledger 99 79 

CONDOR 

Condor 3 650 239 

CONTINENTAL SOFTWARE 

Home Accountant Plus 150 89 

DIGITAL MARKETING 

Writers Pak 250 165 

Milestone (PC) 250 165 

Datebook II 150 98 

Proofreader 50 38 

DIGITAL RESEARCH 

Concurrent PC DOS 295 209 

ENERTRDNICS 

Energraphics 350 239 

Plotter Option 100 55 

FOX & GELLER 

DGraph 295 139 

dUtil 99 58 

Quickcodell or III 295 139 



FUNK 

Sideways 
HARVARD SOFTWARE 

Harvard Project Mgr 

Harvard Total Project Mgr 

HUMAN EDGE 

Mind Prober 

KOALA 

Touch Tablet (PC) 

MacVision 

LEXISOFT 

Spellbinder 

LIFETREE 

Volkswriter Deluxe 

LIVING VIDEO TEXT INC. 

Think Tank (IBM) 

Think Tank (Mac) 

MOBS 

Knowledgeman 

K Paint 

K Graph 

MECA 

Managing Your Money 

MICROGRAFX 

PC Draw 

MICROPRO 

WordStar 

SpellStar 

CorrectStar 

MailMerge 

InfoStar 

WordStar 2000 

WordStar 2000 Plus 

MICRORIM 

RBase4000 

ExtendedReportWriter 

Clout 

MICROSOFT 

Multiplan 

Chart (MAC) 

Project 

MICROSTUFF 

Crosstalk 



60 39 

395 219 

495 279 

50 35 

150 95 

400 249 

495 239 

295 158 

195 109 

245 149 

500 275 

100 65 

225 145 

199 119 

395 289 

350 179 

99 55 

145 99 

99 55 

250 199 

CALL 

CALL 

495 259 

150 109 

250 135 

195 139 

125 99 

250 179 

195 98 



MONOGRAM 

Dollarsand Sense (IBM) 179 109 

Dollars and Sense (Mac) 149 99 

MULTIMATE INTERNATIONAL 

Multimate 495 253 

OASIS 

Word Plus 

Punctuation and Style 

PEACHTREE 

Peachtext 5000 

Business Graphics System 295 219 

Peachpak4 395 199 

PETER NORTON 

Norton Utilities (Vers. 3.0)100 65 

PRENTICE-HALL 

Execuvision 

PRO TEM SOFTWARE 

Notebook II 



150 105 
150 95 



425 185 



395 289 



189 123 

99 84 

130 79 

550 279 

295 149 

395 209 

395 184 

595 289 

595 289 
SOFTWARE PRODUCTS INT'L 

OpenAccess 695 349 
SOFTWARE PUBLISHING 



Footnote 
ROSESOFT 

Prokey 
SAMNA 
Word III 
SORCIM 
SuperCalc2 
Super Project 
Easy System 1 1 
General Ledger 
Accounts Payable 



PFS File or Write 

SSI 

Word Perfect 

TELOS 

Filevision (Mac) 

TYLOG 

dBase Window 



140 85 



495 249 



195 119 



249 149 



WARNER SOFTWARE INC. 

The Desk Organizer 195 129 

WOOLF SYSTEMS 

Move It 150 85 



Free UPS shipping on orders over $1,000.00 

CALL FOR PRODUCTS YOU DON'T SEE HERE! 
CALL FOR OUR FREE CATALOG 



TERMS: 

• Call for shipping charges 
and support policies 

• Full guarantee against 
manufacturers defects 

• Allow 3 weeks for checks 
to clear 

• Prices may change 

• Call for availability 

• No cash refunds! 

Due to our low prices, all 
sales final. 



TO ORDER CALL TOLL-FREE: 

(800) 235-3020 (USA) 

(800) 235-3021 (CA) 

(415) 382-9085 



BUSINESS SOFTWARE 

448 IGNACIO BLVD., STE. 332 
NOVATO, CA 94947 



' SAME DAY SHIPMENT 
ON MOST ORDERS 

> Prompt UPS service 

> Authorized purchase orders 
accepted 

• Dealer, institutional and 
quantity discounts available 

• No surcharge for credit 
card purchases 

■ VISA & Mastercard 
accepted 
•COD 



INTERACTIVE AUDIO 



mounted on an electronics board, a 
keyboard control with an LED (light- 
emitting diode) display, and a 16-pin 
DIP (dual-inline package) cable con- 
nected to a computer interface. The 
unit can be operated either manually 
or under computer control. There are, 
however, differences between a nor- 
mal cassette player and the Search 
400-R audio system, which are de- 
scribed in the text box "The Opera- 
tion of the Search 400-R" on page 
110. 

The 16-pin DIP connector lets you 
interface the cassette deck with a per- 
sonal computer from which you can 
enter all necessary track and location 
data, as well as any desired com- 
mands. However, you must build an 
interface for the two machines to 
communicate with each other. The 
text box "Designing an Interface 
Card" at right describes this 
process. 

Software Support 

To make the hardware described in 
the text boxes useful, it must be sup- 
ported by software. Luckily, simple 
BASIC programs can provide such 
support. Operating the Search 400-R 
with an Apple He is a simple process. 
The peripherals are plugged into in- 
ternal expansion slots— called I/O (in- 
put/output) slots— numbered O 
through 7. The Apple lie treats its I/O 
slots like memory locations (ad- 
dresses); therefore, to communicate 
with a peripheral device plugged into 
an I/O slot, the software program must 
merely access the address that cor- 
responds to the slot it wants. Ikble I 
provides the slot numbers for the 
Apple lie, along with their corre- 
sponding addresses in decimal form. 

If the interface card between the 
Apple and the Search 400-R is pres- 
ent in slot 3, for example, the program 
must address location 49328. Since 
the Apple He accesses the I/O slots as 
memory locations, you can establish 
communication with the audio box by 
using the BASIC statements PEEK(x) 
and POKE(x) where x is a memory 
address such as 49328. 

To function properly, the program 

[continued) 



112 BYTE • JUNE 1985 



Inquiry 175 



INTERACTIVE AUDIO 



Designing an Interface Card 



To design a n interface card to con- 
trol the Search 400-R with a micro- 
computer, you must first understand 
the microprocessor interface on the 
audio deck. On the back of the deck 
you will find a 1 6-pin connector that at- 
taches it to the computer. The pins are 
all 5 volts and compatible with TTL 
(transistor-transistor logic), Schottky, 
and CMOS (complementary metal- 
oxide semiconductor). (For more infor- 
mation, see table A.) 

The first seven pins are used to enter 
track and location data into the audio 
deck. If you want to use an address, 
you enter two binary-coded-decimal 
(BCD) numbers sequentially into pins 
I through 4, the most significant digit 
(MSD) first. Then you send a strobe 
pulse through the address strobe at pin 
5 to inform the audio deck that an ad- 
dress, rather than a command, has 
been entered. The track number is 
entered into pins 7 and 8 and must be 
there when you input the first number 
of the address. Remember that count- 
ing starts at in this system: repre- 
sents the first track, 1 the second, etc. 
Therefore, you must enter the loca- 
tion's MSD and the track information 
into the appropriate pins before you 
activate the strobe. Then you can in- 
put the location's least significant digit 
(LSD) and strobe it as well. 

You enter commands to the audio 
box in exactly the same manner but 
you don't activate the address strobe. 
Commands are entered as BCD 
numbers with decimal values 10 
through 1 5, as follows: 



search 


10 


record 


11 


run 


12 


fast forward 


13 


stop 


14 


rewind 


15 



These numbers must stay on the input 
pins for at least I millisecond to 
register the commands properly. 

Pins 10 through 1 5 are known as the 
status outputs and are used for data 
coming from the audio box. They are 
connected directly to the LED (light- 
emitting diode) display on the Search 
400-R and can tell the computer what 



the audio box is doing at any given 
time. They are active low, so finding the 
pins at ground determines the status 
of the unit. (The start run pin is used 
by remote-control devices such as 
timers and therefore is not applicable 
for computer control.) 

Controlling the Search 400-R 

Both the Apple lie and IBM Personal 
Computer (PC) have internal expansion 
slots for plug-in circuit boards that are 
directly connected to the I/O (input/out- 
put) channels. Each slot consists of a 
bidirectional data bus, address lines, 
and interrupt and DMA (direct memory 
access) control lines. The channels 
have I/O read or write lines, clock and 
timing lines, and power and ground for 
the circuit boards. You can put infor- 
mation on or take it off the I/O chan- 
nel's data lines by connecting them to 
the clock's input lines, which allows the 
computer to control the deck, and by 



connecting them to the deck's status- 
output lines, which allows the com- 
puter to monitor the status of the deck. 
Thus, by connecting the Search 400-R 
unit in this manner, you can— with the 
appropriate software— have two-way 
communications between the deck and 
the controlling computer. 

The Apple Interface 

We purchased an interface card made 
by Phi Technologies for the Apple He 
rather than designing one from 
scratch. It uses only the data lines, a 
read/write line, a clock line, and the 
device-select line from the Apple's I/O 
channel to control the audio box. It is 
available as item #9000-009 from Phi 
Technologies Inc. (4605 North Stiles, 
Oklahoma City, OK 73105) for $160. 
Each I/O slot in the Apple lie has a 
specific address and uses the device- 
select line for decoding instead of the 

[continued) 



T^ble A: 


The functions and active levels of the 16 pins in the 16-pin 


connector found on the back of the Search 400-R and used to connect it to 


the computer. (LSB stands for least 


significant bit, and MSB stands for 


most significant bit.) 




Pin 1 


data bit 1 (LSB) 


active high 


Pin 2 


data bit 2 


active high 


Pin 3 


data bit 3 


active high 


Pin 4 


data bit 4 (MSB) 


active high 


Pin 5 


address strobe 


active high 


Pin 6 


track bit 1 (LSB) 


active high 


Pin 7 


track bit 2 (MSB) 


active high 


Pin 8 


ground 




Pin 9 


start run 


active high 


Pin 10 


search OK status 


active low 


Pin 11 


rewind status 


active low 


Pin 12 


fast forward status 


active low 


Pin 13 


run status 


active low 


Pin 14 


stop status 


active low 


Pin 15 


record status 


active low 


Pin 16 


+ 5 volts 





T^ble B: The addresses you can use to activate two channels if you wish 
to attach two audio boxes. 





A 9 


A 8 


A 7 


A 6 


A 5 


A 4 


A 3 


A 2 


A, 


A 


Channel 1 


1 


1 











X 


X 











Channel 2 


1 


1 











X 


X 





1 


1 



JUNE 1985 -BYTE 



INTERACTIVE AUDIO 



address lines. When you wish to either 
send or receive data from the I/O slot's 
address, you activate that slot's 
device-select line. Its data lines are 
connected to the status-output lines, 
and to the deck's two input lines (pins 
1-7) via seven clocked D-type flip- 
flops. Of the seven data bits sent 
through the input lines, the four LSD 
bits are the address bits, the next two 
the track bits, and the seventh the ad- 
dress strobe. Note that the MSD bit is 



not used. The clock inputs to the seven 
D-type flip-flops are connected to the 
output of another clocked D-type flip- 
flop that is further connected to the 
output of the decoding circuitry. When 
you activate the device-select line, and 
the read/write line is in the write state, 
the input to the lone D-type flip-flop 
goes from low to high. 

The corresponding clock line is con- 
nected to a system clock that goes 
high halfway through the I/O cycle. If 



the input to the lone D-type flip-flop 
has been set high by the decoding cir- 
cuitry, when the system-clock line goes 
high, the output of this flip-flop goes 
from low to high. This is seen as a clock 
pulse that initiates the data transfer 
from the data lines to the input lines. 
A series of three-state gates con- 
nects the status-output lines to the 
data lines. These gates act as buffers 
and prevent the data from the status 
lines from entering the data lines 



El 
E 3 
E 4 

E 6 ' 
E 7 ' 
E 8 ' 
E9 ' 
E30 ' 



E„ « 



74LS42 
4 TO 10 
DECODER 

2 



(IOR) 814 *- 
(IOW) B 13 ^- 
(CLK) B 20 °- 



'-D" 1 



,:0^>- 



-E> 



74LS245 
TRANSCEIVER 



74LS24: 
TRANS' 



5 
CEIVER 



D F/F 
D Q 



:e>— o 



QUAD D F/F 
74LS175 



74LS244 
BUS DRIVER 



~7h 



I E: 



74LS244 
BUS DRIVER 



~7h 



TWO-CHANNEL SEARCH 400-R IBM PC INTERFACE 



-m 

~lXI l ADDRESS 
-CD I BITS 




"EH "I TRACK 



[T] STROBE 

r—nn GND 



SEARCH OK-i 






REWIND 




LU 


F. FWD. 




< 


RUN STATUS 


or 


STOP 
RECORD 




1- 






_ 


' D 





-CD 

-m 
-m 
-m 



ADDRESS 
BITS 



-<B 1 TR^ 
-H J BIT 



ACK 
S 



-Tsl STROBE 



^ 



SEARCH OK-. 

REWIND 

F. FWD. 

RUN STATl 

STOP I 

RECORD 

+5 1 



Figure A: A logic diagram of Paul Hairsine's interface card for the IBM PC. 



114 BYTE 



IUNE 1985 



INTERACTIVE AUDIO 



unless the interface card requests a 
read. When the computer asks for the 
status of the Search 400-R, the device- 
select line is activated and the read/ 
write line goes to the read state, ac- 
tivating the three-state gates. This ac- 
tion puts the data from the status line 
onto the I/O channel's data line. It re- 
mains there until the end of the I/O in- 
struction cycle, at which time the three- 
state gates deactivate. In this manner, 
the computer can monitor the status 
of the audio box. 

The IBM Interface 

Although there was an interface for the 
Apple He, there was none for the IBM 
PC so we had to design one. We used 
an IBM prototype card that plugs into 
an expansion slot. The logic diagrams 
for the designed interface and the pro- 
totype card are included in figure A. 

The prototype card contains a 
voltage bus ( + 5 volts) that borders on 
its back and a ground bus on its front. 
It has a system-interface design that en- 
sures that you only use the I/O address 
assigned for user design and protects 
the computer from faulty circuit 
designs. The prototype card's interface 
has five address lines not used as part 
of its decoding circuitry, allowing you 
to assign different addresses to dif- 
ferent cards or to different circuits on 
the same card. The rest of the address 
lines are decoded into an I/O decode 
line, which activates the circuitry on the 
card. The prototype card's interface 
also has eight data lines that are used 
for its circuitry. 

Because the IBM PC's I/O channel 
can address two different circuits on 
the same board, we designed the in- 
terface card with two channels so you 
can drive two Search 400-Rs with it. 
Two audio boxes on the same system 
provide faster access time to tape loca- 
tions and allow two separate videodisc 
systems to share the same computer. 
Having only one interface card instead 
of two also leaves one of the IBM PC's 
few expansion slots free for other uses. 
Its design is similar to the Apple's to 
allow easy software transfer between 
the two systems. 

We used a 4-to-10 decoder to create 
the two channels. It uses the last three 
address bits, E 14 -Ei 2 . and the I/O select 
bit, E n , from the prototype card for its 
four input lines (see figure A). The out- 



Table C: The chips required to 
build the IBM PC interface card. 



1 74LS42 4-to-10 decoder 

2 74LS245 octal-bus transceivers 
2 74LS244 octal-buffer line drivers 
4 74LS175 quad D-type flip-flops 

1 74LS74 dual D-type flip-flop 

1 74LS04 hex inverter 

1 74LS02 quad NOR gate 



12 chips total 



put lines that activate the two channels 
also determine their addresses. Out- 
puts O and 3 are used with the in- 
terface card and provide the possible 
addresses for each channel shown in 
table B. The Xs can be either Os or Is. 
If you use all possible combinations 
and convert these binary numbers to 
decimal you can address channel I 
with 768, 776. 784, and 792 and chan- 
nel 2 with 771, 779, 787, and 795. If 
you use these addresses properly, you 
can easily transfer data to or from the 
appropriate audio deck. The two chan- 
nels are identical except for the ad- 
dresses that activate them. 

Each channel uses an octal trans- 
ceiver to connect its data lines to the 
prototype card's data lines. A trans- 
ceiver is a device that allows one of 
three possible actions between the two 
points it connects: Data can flow from 
A to B or from B to A, or A and B can 
be isolated from each other. This is 
ideal for the interface card; each chan- 
nel can be bidirectional when activated 
or it can be isolated from the com- 
puter. The direction of the data transfer 
through the transceiver is determined 
by the I/O read line: If the line is ac- 
tive, the data is sent to the computer; 
if it is not, the information is sent only 
to the audio deck. 

The deck's input lines for each chan- 
nel are connected to its transceiver 
through seven clocked D-type flip- 
flops, with the pin assignments iden- 
tical to those of the Apple He interface. 
The clock of all seven D-type flip-flops 
is connected to the output of another 
clocked D-type flip-flop, which in turn 
is connected to the output of the 



decoding circuitry. The decoding cir- 
cuitry is simply a NOR gate whose in- 
puts are connected to the I/O write line 
and the decoder output corresponding 
to that channel. Both inputs are active 
low, so when both lines activate the in- 
put, the control D-type flip-flop goes 
high. Its clock is connected to the sys- 
tem clock, so after the I/O write and the 
decoder output both activate, the out- 
put of the control D-type flip-flop goes 
from low to high on the next system 
clock pulse. The track and location 
data are on the data lines when the I/O 
write line is activated; when the 
decoder output activates, the trans- 
ceiver is activated. The seven D-type 
flip-flops see this low-to-high transition 
as a clock pulse and pass the data on 
the data lines from the computer to the 
Search 400-R. 

An octal-buffer line driver connects 
the status-output lines for each chan- 
nel to its transceiver. This driver allows 
only two possible states: Data is trans- 
mitted from A to B, or A and B are 
isolated. When the computer requests 
information from the audio box, the I/O 
read line and its corresponding 
decoder line are activated. Both are ac- 
tive, low, and since the line driver ac- 
tivates on a low signal, you must OR 
the two inputs to enable it. Since we 
used inverters and NOR gates to 
design the interface board, we used an 
inverted NOR to implement the OR 
gate. This saved us from having to add 
an OR gate to the board. After the line 
driver activates, data from the status 
outputs appears on the I/O channel's 
data lines and remains there until the 
end of the instruction cycle. This pro- 
vides the computer with enough time 
to fetch the data and to monitor the 
status of an audio box on either 
channel. 

We built the interface card with the 
chips shown in table C. The card is con- 
nected to the Search 400-R through a 
16-line flat cable. Each end of the cable 
has a 16-pin DIP (dual-inline package) 
connector, which plugs into the 16-pin 
wire-wrapped sockets on the interface 
card and into the audio deck's inter- 
face receptacle. You can find a layout 
of the card in figure A. The pin assign- 
ments of the 16-pin wire-wrapped 
sockets correspond to the numbers of 
the Search 400-R's receptacle shown in 
table A. 



IUNE 1985 -BYTE 115 



INTERACTIVE AUDIO 



needs the track and location of the 
desired sound sequence. These two 
numbers, track and location, first must 
be converted to binary-coded-decimal 
(BCD) numbers and then output to 
the audio box through the interface 
card. The most significant digit (MSD) 
is output first and the least significant 
digit (LSD), last. If you set the Search 
400-R audio box for computer con- 



trol you must set bits 4 and 5 of the 
input data to the track number used 
when the MSD is output; you must set 
bit 6 high on both the track and loca- 
tion address outputs. The Search 
400-R has six commands, and each 
has a two-digit code. Issuing a com- 
mand to the audio unit is simply a 
matter of implementing a POKE to in- 
sert its code into the address of the 



audio system. The following is a list 
of the commands and their codes: 



Table 


: The slot numbers for the Apple We along with the corresponding 


decimal addresses. (Note: Slot is not present in the Apple We but is present in 


the Apple II and the Apple II+.) 




Slot 


Decimal Address 







49280 




1 


49296 




2 


49312 




3 


49328 




4 


49344 




5 


49360 




6 


49376 




7 


49392 





Listing I: The Apple lie code 
required to tell the audio box to 
search for a specific location on the 
tape. 

100 INPUT "Enter track number: ";T 
110 INPUT "Enter location: ";L 
120 A = INT(L/10): B = L-(A*10) 
130 A = A + (T*10) + 64: B = B + 64 
140 POKE 49328.A: POKE 49328,0 
150 POKE 49328, B: POKE 49328,0 
160 POKE 49328,10: POKE 49328,0 



Listing 2: This section of Apple 


II^ code contains a 


search 


followed by a wait 


for the search 


OK before issuing 


the run 


command. 




10 POKE 49328,10: 


POKE 49328,0 


20 IF PEEK(49328) 


<> 110 THEN 20 


30 POKE 49328,12 


POKE 49328,0 



Listing 3: The code required to establish communications between the audio box 


and the IBM PC and the Apple lie. respectively. 


IBM PC 


Apple He 


100 INPUT "Enter track: ";T 


100 INPUT "Enter track: ";T 


110 INPUT "Enter location: ";L 


110 INPUT "Enter location: ";L 


120 A = INT(L/10): B = L-(A*10) 


120 A = INT(L/10): B = L-(A*10) 


130 A = A + (T*10) + 64: B=B + 64 


130 A = A + (T*10) + 64: B = B + 64 


140 OUT 768, A: OUT 768,0 


140 POKE 49328,A: POKE 49328,0 


150 OUT 768.B: OUT 768,0 


150 POKE 49328.B: POKE 49328,0 


160 OUT 768,10: OUT 768,0 


160 POKE 49328,10: POKE 49328,0 


170 IF INP(768)<> 110 THEN 170 


170 IF PEEK(49328)<>110 THEN 170 


180 OUT 768,12: OUT 768,0 


180 POKE 49328,12: POKE 49328,0 



Command name 


Code 


search 


I0 


record 


II 


run 


I2 


fast forward 


I3 


stop 


14 


rewind 


15 



You must follow each POKE of a com- 
mand code with a POKE of 0, which 
prepares the interface card to accept 
another command. For example, to 
tell an audio box connected to I/O slot 
3 (address 49328) to rewind the tape 
(code 1 5) you would have to send the 
commands POKE 49328,15: POKE 
49328,0. 

Listing I provides a simple but 
workable example of how to tell the 
audio box to search for a certain loca- 
tion on the tape. Lines 100 and 110 
ask for the track and location of the 
piece of sound desired. Line 120 sets 
A to the location's MSD and B to its 
LSD. Line 130 sets up the data for 
proper output. This is done by setting 
the address strobe (bit 6) high ( + 64) 
for both A and B. T* 10 sets bits 4 and 
5 of the first address digit to the track 
number. Lines 1 40 and 1 50 output the 
address to the interface, and line 160 
gives it the search command. These 
few lines can fully control the Search 
400-R audio box. 

Occasionally, you might want to 
check for proper operation of the 
audio deck by reading the status lines. 
Essentially, the status information 
works like a stoplight that tells the 
computer when the next command 
can continue to its destination. The 
status line can tell you if everything 
is running smoothly. If it is, you can 
have the next command sent. If not, 
the computer delays the command 
until it is ready for it. Reading the 
status is easy with BASIC'S PEEK 
command. Seven status lines provide 
information on the audio deck's oper- 
ation. Combined, they make up a 
status byte. The Apple He is an 8-bit 
machine, and it reads 8-bit bytes, such 
as the status byte of the audio box. 

The status lines are all considered 
active low except for the power on line. 



116 B YTE • JUNE 1985 



INTERACTIVE AUDIO 



This means that if a certain status is 
on, its particular bit in the status byte 
is equal to 0— just the opposite of 
what you would expect— and if the 
status is off, the bit equals 1. The ex- 
ception lies in the status of power on, 
which follows the more common 
usage; i.e., 1 means on and means 
off. The following list shows what func- 
tions the various status bits imply: 



Status 


Data bit 


search OK 





rewind 


1 


fast forward 


2 


run 


3 


stop 


4 


record 


5 


power on 


6 



Consider the status byte shown in 
figure 1. Bits through 6 are the 
status bits, and each provides some 
piece of information; for instance, bit 
4 tells you whether the audio deck 
has stopped. Therefore, if you need 
information about the current status 
of the audio box, your program must 
access the status byte. This can be 
done by looking at the address of the 
interface using the PEEK command, 
which is the same process as using 
POKE to enter a command. However, 
PEEK(x) reads a decimal number x, 
while the status information is in 
binary form. You must, therefore, con- 
vert the binary number to decimal 
form. Consider the status byte in 
figure 2. The binary number is 
1 101 110, telling us that the power is 
on, the search for a piece of sound 
was successful, and the audio unit has 
stopped doing anything and is ready 
to accept another command. The dec- 
imal equivalent of 1101110 is 110, so 
the PEEK command would retrieve 
the number 110. Line 20 in listing 2 
demonstrates how you can make the 
computer wait until a search OK ap- 
pears after having issued a search 
command. 

The software used to control the 
Search 400-R from the Apple He is 
straightforward. Controlling the audio 
box from an IBM PC requires basical- 
ly the same process; however, the IBM 
PC doesn't treat the I/O addresses as 
memory locations, so the chart of slot 



NOT 
USED 


POWER 
ON 


RECORD 


STOP 


RUN 


FAST 
FWD 


REWIND 


SEARCH 
OK 



Figure 1: The layout of the audio deck's status byte. 





7 


6 


5 


4 


3 


2 


1 













1 


1 





1 


1 


1 







N 


OT 


LISEI 


OWE 


R 





REC 


ORD 


STOP 


RUN 


T FORW 


REWIND 


ARCH 







P 


|0FF| 


|0FF| 
FAS 


1 OFF | 
ARD SE 


K 


| ON 


1 


1 ™ 1 


1 0FF 1 


| ON 


1 









































Figure 2: An example of the status byte for the audio deck 



numbers and addresses given above 
is not applicable. POKE and PEEK 
won't allow communication between 
the IBM PC and the audio box either. 
Instead, you must use the commands 
OUT x,y, and INP(x). 

Listing 3 contains the programming 
necessary to establish communica- 
tions between the audio box and the 
IBM PC and the Apple He, respective- 
ly. Both programs need to have the 
track and location of the desired 
piece of sound, a search (code 10) for 
the sound, a check of the status byte 
for search OK, and if found, a run 
command (code 12). You can see from 
the similarity of the two programs that 
you can transfer BASIC programs writ- 
ten on either machine to the other 
with a minimum of translation. 

While we have used BASIC in the 
example, you can use any computer 
language to accomplish the same 
thing, as long as you know how to out- 
put data to the I/O channel and accept 
input from it. Furthermore, after the 
audio box rewinds the tape to the be- 
ginning, approximately 100 millisec- 



onds must elapse between stopping 
the tape and entering a command to 
move it. This allows the counting cir- 
cuits in the audio box to reset. In ad- 
dition, the IBM PC changes its data 
bits too quickly when trying to input 
address locations. This means that 
data doesn't stay on the lines long 
enough to properly activate the audio 
deck. You can correct this by writing 
a software delay into the program. 

Conclusion 

By using an interactive audio system, 
such as the Search 400-R, you can 
create more versatile interactive- 
videodisc training packages. While 
this article describes using interactive 
audio in conjunction with interactive 
video, the concept can just as easily 
be used in normal computer-based 
teaching packages. ■ 

ACKNOWLEDGMENT 
The authors wish to express their gratitude 
to the IBM Corporation, the National 
Science Foundation, and the Notre Dame 
College of Engineering for continued sup- 
port of this work. 



JUNE 1985 • BYTE 117 



How do you get 

your PC to wear 

many different hats 

at the same time? 

E-Z-DOS-IT 




Introducing E-Z-DOS-IT 
Concurrent Processing — 
for IBM PCs and 
PC compatibles* 

Before today, your IBM PC 

(or PC compatible) could wear 

only one processing hat at a 

time. Now, with E-Z-DOS-IT 

Concurrent Processing, your 

PC can be an editor, financial analyst, and 

artist all at the same time. And you can be a 

writer Or a programmer. In fact, E-Z-DOS-IT 

is the only concurrent processing system 

that can run effectively on machines with 

256K and up. 

Switch from one program 

to another at the drop of a hat* 

With your current system, each time you need 
to access information on a different disk, you 
have to save your files, unload and load a pro- 
gram. E-Z-DOS-IT enables you to switch con- 



veniently from one applica- 
tion to another instantly. With 
this easy referencing capa- 
bility you can quickly respond 
to questions, and finish proj- 
ects significantly faster. 

E-Z to use, 
E-Z to afford* 

You'll find it takes only ten 
minutes to master E-Z-DOS-IT Concurrent 
Processing. And the suggested retail price is 
only $199.95— improved productivity was 
never this affordable. 

Improved personal productivity at 
your fingertips* 

E-Z-DOS-IT is the one system software 
package you cant afford to be without. For 
more information and the name of the dealer 
nearest you, call toll-free: 800/228-9602 
(in California, call 800/423-5592), ask for 
Operator 1. 



SHAMMER 

Redefining Your PC Productivity. 



E-Z-DOS-IT is a trademark of Hammer Computer Systems, Inc., 700 Larkspur Landing Circle, Suite 285, Larkspur, CA 94939 

The following registered trademarks are acknowledged; IBM and IBM PC, International Business Machines; Lotus 1-2-3 and Symphony, Lotus Development Corporation; dBase II and Framework, Ashton-Tate; Wbrdstar, MicroPro International; PFS:Fi!e, 
Software Publishing; Crosstalk, Microstuf f, Inc.; Multi-Plan, Microsoft Corporation. 



Inquiry 203 



JUNE 1985 -BYTE 119 



BASF QUALIMETRIC FLEXYDISKS: 
A GUARANTEED LIFETIMEOF 
OUTSTANDING PERFORMANCE. 






BASF Qualimetric FlexyDisks feature a unique lifetime warranty* firm 
assurance that the vital information you enter on BASF FlexyDisks today 
will be secure and unchanged tomorrow. Key to this extraordinary 
warranted performance is the BASF Qualimetric standard. . . 
a totally new set of criteria against which all other 
magnetic media will be judged. 

You can count on BASF FlexyDisks because the Qualimetric 
standard reflects a continuing BASF commitment to 
perfection in magnetic media. One example is the 
unique two-piece liner in our FlexyDisk jacket. This 
BASF feature traps damaging debris away from 
the disk's surface and creates extra space in the 
head access area for optimum media-head 
alignment. The result is a guaranteed 
lifetime of outstanding performance. 

For information security that 
bridges the gap between today 
and tomorrow, look for the 
distinctive BASF package with 
the Qualimetric seal. Call 
800-343-4600 for the name 
of your nearest supplier. 






JSASf^ 



<*§} ) / = fetxy£?isK 



'"Contact BASF for warranty details. 

Inquiry 46 







■ 




ENTER TOMORROW ON BASF TODAY 



, Bedford, MA 



CIARCIA'S CIRCUIT CELLAR 



BUILD THE 
HOME RUN CONTROL 

SYSTEM 

PART 3: THE SOFTWARE 

by Steve Ciarcia 



Energy management, convenience, 
and security in one package 




Over the past few months 
I've been describing the 
Home Run Control Sys- 
tem (HCS). my rendition of 
a sophisticated yet cost- 
effective home-control 
system. Briefly, the HCS is 
a single-board computer with the hardware 
and software needed to control lights and 
appliances in a home or a specific produc- 
tion process in a small business. The system 
uses BSR home-control modules that are 
activated by signals superimposed on the 
house wiring and can also directly control 
the process through hard-wired inputs and 
outputs. Home Run can accommodate 48 
BSR modules, 16 digital inputs, 8 TTL 
(transistor-transistor logic)-compatible out- 
puts, and 16 messages. 

In the first two parts, I introduced you to 
the overall system concept and the hard- 
ware. This month, I'll finish by describing the 
HCS's editing software and demonstrating 
a simple schedule entry. 

Home Run Is Interrupt-Driven 

The heart of the HCS is an interrupt-service 
routine. All other HCS functions are subrou- 
tines that are called from this main routine. 
I have outlined the software in great detail 
because many readers can understand and 
appreciate the HCS better from that per- 
spective. Also, the control methodology can 



be used as a model for more personalized 
control designs should you not care to 
specifically build mine. 

Figure I is the main interrupt handler. 
Each block in the flowchart represents a 
program action that in most cases is self- 
explanatory and requires few statements to 
implement. In more involved tasks, subor- 
dinate flowchart sections (figures 2 through 
8) are referenced to explain those opera- 
tions in greater detail. Together, they func- 
tion as follows: 

The timing-generator circuitry sends inter- 
rupts to the processor at approximately 601 
hertz (Hz). When the processor detects the 
interrupt, it finishes the current instruction, 
saves its status, and gets the address of the 
interrupt-service routine. The processor ex- 
ecutes the routine at that address until it 
encounters a return-from-interrupt instruc- 
tion. When that occurs, the processor will 
recover its status and continue from where 
it left off prior to the interrupt. 

When the interrupt-service routine is 
called, it decrements the interrupt counter. 
When this counter reaches 0, one second 

[continued) 

Steve Ciarcia (pronounced "see~ARE-see*ah") is an elec- 
tronics engineer and computer consultant with experience 
in process control, digital design, nuclear instrumenta- 
tion, and product development. He is the author of 
several books about electronics. You can write to him 
at POB 582. Glastonbury, CT 06033. 



COPYRIGHT © 1985 STEVEN A. CIARCIA. ALL RIGHTS RESERVED. 



JUNE 1985 'BYTE 121 



CIRCUIT CELLAR 



is added to the current time. If the time changes to a new 
minute, the routine will check the status of the Command 
FIFO (first-in/first-out) buffer. If there are any commands 
(turning a module or output on or off), they are executed 
one at a time in the order they entered the FIFO buffer. 
When the Command FIFO buffer is finished, the pro- 
cessor checks the status of the Time FIFO buffer. If it is 
empty, the table of events is scanned to find events that 
are activated by one of the input lines. When one such 
event is found, the appropriate input line is checked to 
see if it has changed status within the last second. If it 



has, the appropriate on or off command is placed in the 
Command FIFO buffer for execution. The scan continues 
until all input-activated events are checked. 

If the Time FIFO buffer is not empty, the first time in 
the FIFO buffer is saved, and the table of events is scanned 
to find events that are scheduled to occur at that time. 
If the time matches, the appropriate on or off command 
is placed in the Command FIFO buffer for execution, and 
the event scan continues until all events have been 
checked. 

[continued) 



INTERRUPT OCCURS 



PREVENT FURTHER 
INTERRUPTS 





NO/ 


3 J± 

YES 




^ 




READ KEY AND SAVE 
FOR I/O ROUTINE 










READ CURRENT STATE 
OF INPUT LINES 












IF ANY LINE IS DIFFERENT 
FROM ITS REFERENCE LEVEL. 
THEN SET THE REQUEST FLAG 
FOR THAT LINE 



IS 
NO/ MODEM 
ACTIVE 







SET FLAG FOR SERIAL I/O 



X KEY PRESSED I 
" [ON KEYBOARD ' 

I 1 

| CHECK IF A L^ 

. BSR COMMAND | 
IS BEING , 

1 TRANSMITTED 
I 1 

I J 

| CHECK IF . 

i THERE ARE ANY \" 
. COMMANDS 

WAITING 

TO BE I 
I EXECUTED I 
I I 

I 1 

I IS TERMINAL OR 

■ KEYBOARD 
IN USE 

\ T* 

Hs THE EVENT~j 

I TABLE 

j CURRENTLY 

■ BEING 
SCANNED p* 

DECREMENT ] 
J INTERRUPT 
\ COUNTER 



ALLOW FURTHER INTERRUPTS 



RESET THE 
INTERRUPT COUNTER 



UPDATE THE CLOCK 



CHECK IF ANY INPUT LINE 
IS REQUESTING RESTORE 



TO FIGURE 2 



TO FIGURE 3 



CHECK IF ANY INPUT LINES 
ARE REQUESTING THAT HOLD 
BE APPLIED OR REMOVED 




-»- TO FIGURE 4 



EXECUTE ONE COMMAND 



YES 



YES 




-+ TO FIGURE 5 



SCAN THE EVENT TABLE 



-* TO FIGURE 6 



L-*- RETURN FROM INTERRUPT 









Figure 1: Master Interrupt Handler flowchart. 



122 B YTE • IUNE 1985 



CIRCUIT CELLAR 

















. 


Q 




fc UJ 




&!- 




<y 




Q u 




U. -< 




o wh 










UJ W c/> 




UJ 






z 
o 

Q 




§Sg 
















3<H 






<Oh 




a 






id 






o 




to 


o 




Q 


_1 




z 


o 




o 
o 


UJ 




UJ 


X 




CO 

o 




LU 




H 


F 




, 


< 






Q 




Q 


Q_ 




Q 


3 




< 



Figure 2; Clock Update flowchart. 



JUNE 1985 • BYTE 123 



CIRCUIT CELLAR 



If the time is the start of a new minute, the current time 
is put into the Time FIFO buffer for use in the event scan. 
If the terminal is not currently being used for some other 
display, the main display is updated, and the program 
starts checking the FIFO buffers. 

When certain commands such as DIM, or functions such 
as Restore or Manual Control, are executed, they use a 
large amount of processor time. This can cause a conflict 
if the interrupt-service routine attempts to execute other 
commands or scans the event table. To prevent this possi- 
ble conflict, the time-consuming routines set a priority flag 
that prevents the interrupt-service routine from perform- 
ing any operations with the FIFO buffers. As soon as the 
priority routines are finished and clear the flag, the 
interrupt-service routine can begin processing the FIFO 
buffers again. 



Whenever a function requires input from the terminal, 
it would be possible to miss a character that was typed 
if an interrupt occurred and a FIFO buffer required pro- 
cessing. To prevent this, routines requiring input set a flag 
that gives input priority to the terminal. The interrupt- 
service routine is allowed to put the current time into the 
Time FIFO buffer every minute, but it is prevented from 
taking times out and scanning the event table. When the 
flag is cleared, the interrupt-service routine begins scan- 
ning the event table with the times that were stored in 
the FIFO buffer. This means that if an event was sched- 
uled to occur while you were typing, it would not really 
occur until after you had completed whatever you were 
entering. 

If for some reason the HCS is left waiting for terminal 
input or in the editing mode and no characters are input 



RESTORE BY INPUT 




| IS RESTORE | 
j CURRENTLY 
> | BEING DONE ! 



I IS RESTORE 
BY INPUT 




^AVAILABLE j 



EXECUTE RESTORE 



THE REQUEST 
I ' FLAG FOR THE l 
| I INPUT LINE I 
. I THAT CONTROLS l 
I , RESTORE SET 
|l 1 

I 



-J 



YES 



START WITH DRIVER 1. 
MODULE 1 



SET SERVICED FLAG 
FOR THE INPUT LINE 



| CHECK LAST ^ 

I KNOWN STATUS | " 

OF MODULE ; 



DONE 




TURN MODULE ON 



TURN MODULE OFF 



NEXT MODULE 




Figure 3: Restore Request Check flowchart. 



124 B YTE • JUNE 1985 



CIRCUIT CELLAR 



for 5 minutes, it will return to the status display and begin 
processing the FIFO buffers. 

NOMENCLATURE 

Before I can adequately discuss all the menu options and 
control features of the HCS, the nomenclature must be 
described in more detail. 

A module can be a message, a BSR module, or some 
electrical equipment connected to a direct output line. 
Each module is identified by a module number from I 
to 16 (8 in the case of the direct outputs). For messages, 
the module number identifies I of 16 possible messages 
(each can be any length). For BSR modules, the module 
number identifies the number you set on the BSR 
module's unit-code switch. For direct outputs, the module 
number refers specifically to the 1 -of -8 output lines to 



which directly controlled equipment can be connected. 

An event is a set of actions that you want performed 
on a module. Each event has four parts:, the driver, the 
module, what turns the module on, and what turns the 
module off. "On" and "off" actions result from coincidence 
with a prespecified time and date, a logic-level transition 
on I of 16 input lines, or a predefined time duration. 

A driver defines what an event does when it is executed. 
Seven drivers are used in the HCS (an eighth driver is the 
Superkey, which will be explained later), and their func- 
tions are as follows: 

The Message driver (#7) displays messages on the 
terminal. 

The BSR On/Off driver (#1. #4, and #5) turns a BSR 
module on or off. 

[continued) 



\ 












■■■■ -'"tl:]: 


CHECK IF ANY INPUT 
LINES ARE REQUESTING 
THAT HOLD BE 
REMOVED OR APPLIED 




| IS THE REQUEST | 
I FLAG FOR THE i 
■ APPLY-HOLD , ^ 
INPUT ACTIVE 


><< 


p 


\^ NO 






[YES 




| 1 




SET THE SERVICED 
FLAG FOR THE 
APPLY-HOLD INPUT 
















SET THE 
HOLD-ENABLE FLAG 




\ 






| IS THE REQUEST | 


t 


NO y 


[YES 


^A FLAG FOR THE 
;> ~ REMOVE-HOLD 
"* INPUT ACTIVE ) 










SET SERVICED 

FLAG FOR 

REMOVE- HOLD INPUT 












CLEAR 
HOLD-ENABLE FLAG 


. 


5 














DONE 


















-:-..■■: 



Figure 4: Hold Request Check flowchart. 



IUNE 1985 -BYTE 125 



CIRCUIT CELLAR 



The BSR Dimmer driver (#2) lets you remotely control 
the brightness of a lamp connected to a BSR lamp module. 
The brightness of the lamp is defined by a level from I 
to 16. Level 16 is fully on. 

The BSR Cycler driver (#3) will turn a BSR module on 
for a selected time interval and then off for the same in- 
terval. This cycle repeats until the event is scheduled to 
stop The interval is specified in minutes and can have a 
value from I to 180 minutes. 

The Direct Output driver (#6) provides an open-collector 
TTL-compatible control signal on each of eight output 
lines. An 'ON' signal is a logical high, greater than 2.4 volts 
(V); an 'OFF' signal is a logical low, less than 0.4 V. 

An input is an electrical signal that is less than 0.2 V 
(logic 0) or greater than 3.0 V (logic 1). The HCS can ac- 
commodate -9-V to +9-V input levels. When the HCS is 
first powered up or the manual Reset button is pushed, 
the current state of each line, either high or low, is saved 
and is considered to be the reference or nonactive state 
of that line. The reference state can be changed at any 
time by a command. If an input line changes from its ref- 
erence state, either a transition from low to high or high 
to low, an input is said to have occurred, and the HCS will 
react accordingly. 

Dimmer, Cycler, and BSR On/Off drivers are further de- 
fined by a house code. The house code determines which 
BSR modules respond to a particular driver. On power- 



• ARE THERE ANY 
TIMES STORED IN . 
THE TIME FIFO 




SCAN TABLE FOR 
TIME-CONTROLLED 
EVENTS ONLY 



SCAN TABLE FOR 
EVENTS CONTROLLED 
BY INPUTS 



TO FIGURE 7 



TO FIGURE 8 



IF SERVICED FLAG 
IS SET FOR 
ANY INPUT LINE. 
THEN CLEAR 
REQUEST FLAG 
FOR THAT LINE 



up, the HCS defaults to house code A. It can be alternately 
redefined as any one of the 16 possible house codes 
through a menu-selected editing command. The first BSR 
driver and the Cycler and Dimmer drivers use the A house 
code, while BSR drivers #4 and #5 each use the next se- 
quential letters. This allows control of 48 BSR modules 
independently. 

The Status Display 

When the HCS is functioning, the current on/off status of 
each module is presented with the time and date in a 
status display. 'Typically, it is a 24-line display that appears 
as shown in listing I and photo I . 

The number in the left column is the driver number used 
in input routines. The next column is the driver type and 
the house code for those that designate BSR drivers. 

The status of each module is represented by a symbol. 
A dash (-) means that no events are scheduled for that 
driver/module combination. (A dash appears only on a 
printout or a terminal. A raised dot is used on the integral 
video display.) A zero (0) means that events are sched- 
uled for that driver/module and that the last command 
executed was an off command (currently inactive). A one 
(1) means that events are scheduled for that driver/module 
and that the last command executed was an on command 
(currently active). 

[continued) 

















■ 

J IS THE HOLD FLAG . 

, SET FOR THIS k^ 

| DRIVER AND MODULE 




EXECUTE 

ONE COMMAND 
















GET COMMAND 

FROM FIFO 




•** 


*"*" >^^\ 


\ YE 


s 










[no 

YES /mMMAMnX 


^ 


| 










ON S 

[NO 






CLEAR STATUS FLAG 

FOR THIS 

DRIVER AND MODULE 














SET STATUS FLAG 

FOR THIS 

DRIVER AND MODULE 






















GET DRIVER AND 
TURN MODULE 

ON OR OFF 


















DONE 



























Figure 5: Execute Command flowchart. 



Figure 6: Scan Events Table flowchart. 



126 B YTE • IUNE 1985 



CIRCUIT CELLAR 



SCAN TABLE FOR EVENTS 
CONTROLLED BY TIME 



GET TIME FROM TIME 
FIFO BUFFER 



POINT TO FIRST EVENT 
IN THE TABLE 




^ IS THE BYPASS FLAG , 
L^SET FOR THIS MODULE _J 



rbECREMENT BYPASsH 
'•^J'TIME COUNTER 

[TOR THIS EVENT [ 



CLEAR BYPASS FLAG 
FOR THIS MODULE 




| IS ON- DELAY 
^^j COUNTER RUNNING . 
j FOR THIS EVENT 

'"decrement : 

|^ on-delay counter i 



YES 



YES 




^ I 



DOES ANY INPUT | 
CONTROL THE ON i 
] PART OF THIS 
EVENT 



COMPARE THE ON 



I TIME OF THIS 

■*J EVENT TO THE I 

1 TIME TAKEN | 

1 FROM THE FIFO 

I 1 

tF ON DELAY | 

I ENABLED AND NOT 
-H COUNTING, THEN * 
. START COUNTING 



IF THIS IS A CYCLER EVENT, 
GET LENGTH FOR ON TIME AND 
STORE IN CYCLER BUFFER 



IF THIS IS A DIMMER EVENT, 
GET BRIGHTNESS LEVEL AND 
STORE IN DIMMER BUFFER 




Figure 7: Scan for Time Events flowchart 



IUNE 1985 -BYTE 127 



CIRCUIT CELLAR 



The normal display will show the current time, any mes- 
sages, and the status of all 120 modules. To see a menu 
of the available commands, enter a space character. The 
HCS will display an editing menu, as shown in listing 2. 

To use one of the functions displayed, answer the 
prompt with the appropriate letter followed by a return. 
Each of the editing functions will be discussed further as 
we attempt to actually run the HCS. 

Firing It Up 

Before starting to use your HCS for the first time, a few 
items must be considered. If you are using an external 
terminal or computer for display, use table 1 to select the 
data-transmission rate that your terminal or computer's 
serial interface uses. 

Set the selected switch ON, making sure that only one 
switch is on at any time. If you intend to use only the in- 
ternal video display and no serial peripherals, port con- 
figuration jumper II should be installed. If a modem or 
printer is to be connected, however, Jl should be left out. 
If you intend to use the internal video output with a 



Listing I: Status display. 
SUN FEB 3 3:37 PM 



1111111 
1234567890123456 

1 BSR ON/OFF A 00100-1-0 1 

2 BSR DIMMER A 

3 BSR CYCLER A 

4 BSR ON/OFF B 

5 BSR ON/OFF C 

6 DIRECT OUT 01 

7 MESSAGES 000 

8 SUPERKEY 



modem, set the data-transmission rate to that of the 
modem. 

If you intend using a modem or just want additional 
security, installing configuration jumper )2 enables the 
password identification. Whenever the modem answers 
or a command entry is made through the terminal or key- 
board, the HCS will ask for your password (entered on 
power-up). If entered correctly, it will allow you to proceed; 
otherwise, it will revert to the status display and inhibit 
command entry. Once the correct password is entered, 
further password identification is not required as long as 
continuous communication is maintained with the oper- 
ator. A lapse in command entry longer than 3 minutes 
will cause the HCS to ask for the password again. 

TWo additional jumpers must be positioned according 
to the amount and location of the RAM (random-access 
read/write memory) in the system. This area was covered 
in detail in part 2, and I refer you to that section for 
explanation. 

After all the switches and jumpers have been set (I chose 

[continued) 



Listing 2: Editing menu. 


A REPORT.CREATE.OR DELETE EVENT 


B SET HOUSE CODE 


C MANUAL ON/OFF 


D MANUAL RESTORE 


E AUTO-RESTORE 


F RESTORE BY INPUT 


G SET DATE AND TIME 


H CLOCK ACCURACY 


I TIME FORMAT 


J TRACK SUNSET 


K DAYLIGHT SAVINGS 


L LIST EVENTS 


M SET LIST SPEED 


N "TOTAL RESET** 


O LINES PER SCREEN 


P INPUT STATUS 


Q HOLD BY INPUT 


R DEFINE SUPERKEY 


S BYPASS MODULE 


T DELAY EVENT 


U SET BEEPER TIME 


V SET EVENT TO EXECUTE ONLY ONCE 


ENTER LETTER OF CHOICE (A-V)? 



FRI APR 5 8:18 PM 



1 BSR ON/OFF ft 1111- 

£ BSR DIMMER A 

3 BSR CYCLER A 

4 BSR ON/OFF B 

5 BSR ON/OFF C 

6 DIRECT OUT 

7 MESSAGES 00- - 
3 SUPERKEY 0--- 



Photo I: Status display. 



mini 

1234567890123456 



Tbble 1 : HCS data-transrnission-rate settings. 



Switch 


Data-Transmission Rate 


1 


4800 


2 


2400 


3 


1200 


4 


600 


5 


300 


6 


150 


7 


75 


8 


not used 



128 BYTE • JUNE 1985 



CIRCUIT CELLAR 






SCAN TABLE FOR EVENTS 
CONTROLLED BY INPUTS 




j IS THE ON- DELAY COUNTER - 1 
" , RUNNING FOR THIS EVENT 



CLEAR INPUT-PRIORITY FLAG 



IS THE INPUT THAT CONTROLS THE 
I ON PART OF THIS EVENT THE SAME 
. AS THF ONF THAT CONTROI S THF ' 



AS THE ONE THAT CONTROLS THE 



__J 



YES 



I 1 

| IS THE REQUEST FLAG FOR THE 
j INPUT THAT CONTROLS THE ON I 
\ PART OF THIS EVENT SET I 
I I 



PUT ON COMMAND 
INTO COMMAND FIFO 



IF DELAY IS ENABLED, THEN START 
ON-DELAY COUNTER RUNNING 




IS THIS EVENT SUPPOSED TO 

-"* TURN THE MODULE OFF AFTER . 

1 A SPECIFIED LENGTH OF TIME ' 



ADD SPECIFIED LENGTH OF TIME 
TO THE CURRENT TIME AND CREATE 
NEW OFF TIME 




i IS OFF-DELAY COUNTER RUNNING 
L FOR THIS EVENT 

YES 



I IS THE INPUT THAT CONTROLS | 

I THE OFF PART OF THIS EVENT i 

/\ THE SAME AS THE ONE THAT 

■ CONTROLS THE ON PART 

YES 



IS THIS EVENT SET TO 
EXECUTE ONLY ONE TIME 



r 


NO N^. 


YES 


DELETE THIS EVENT 
FROM THE TABLE 






POINT TO NEXT EVENT 


1 r 


NO S EVENTS \ 



I IS THE REQUEST FLAG FOR THE | 
* INPUT THAT CONTROLS THE OFF | 

PART OF THIS EVENT SET 



PUT OFF COMMAND 
INTO COMMAND FIFO 



IF DELAY IS ENABLED. THEN START 
OFF -DELAY COUNTING 



SET SERVICED FLAG 







Figure 8: Scan for Input Events flowchart. 



JUNE 1985 -BYTE 129 



CIRCUIT CELLAR 



to include the password), the HCS is plugged in and the 
following appears: 

COPYRIGHT (C) 1985 
CIRCUIT CELLAR INC. 

HOME RUN CONTROL SYSTEM 

VER. X.XX 

ALL RIGHTS RESERVED 

ENTER NEW PASSWORD: 

Since this is a cold start you must enter the date and 
your five-letter password: 

ENTER NEW PASSWORD: STEVE 

I chose my name as the password in this example, but 
any five printable ASCII (American Standard Code for In- 
formation Interchange) characters (such as @#%&N) can 
be used. If you have enabled the password option, the 
HCS presumes it might have an auto-answer modem con- 
nected. The HCS will automatically send the necessary 
commands to a Hayes-compatible auto-answer modem 
to set the proper number of rings. I chose eight rings. 

HOW MANY RINGS BEFORE ANSWERING 

= DONT ANSWER (0-255)? 8 

In general, whenever you must choose one of several 
answers to a question, each item will have a number to 
the left of the item. To choose a particular item, enter the 
number when the prompt appears. In addition, the 
prompts themselves have the allowable entries in paren- 
theses. If you enter a value outside of this range, the 
prompt will repeat until you enter a correct value. You can 
return to the main display at any time by typing only a 
carriage return in response to a prompt. The display 
prompts continue by asking the date and time as follows: 

1 JAN 2 FEB 3 MAR 4 APR 
5 MAY 6 JUN 7 JUL 8 AUG 
9 SEP 10 OCT 11 NOV 12 DEC 
ENTER MONTH (1-12)? 2 

ENTER DAY OF MONTH (1-31)? 3 

1 SUN 2 MON 3 TUE 4 WED 
5 THU 6 FRI 7 SAT 
ENTER DAY OF WEEK (1-7)? 1 

The final cold-start prompt will be 

ENTER TIME AS HH:MM:A 
OR HH:MM:P 

? 4:56:P 

After this, HCS is ready to have events programmed, and 
a no-events-scheduled status display appears. 

Command and Editing Functions 

It's time to get back to an explanation of the editing-menu 
options. By selecting the different functions, you can 



create, delete, bypass, hold, or restore an event. The 
majority of these functions are different from typical 
home-control systems and are the essence of the HCS. 

Entering Events 

When you want to create a new event, an event-trigger 
menu will be displayed, showing you the combinations 
of input and time used to start and stop an event: 

1 ON AT SPECIFIED TIME 
OFF AT SPECIFIED TIME 

2 ON AT SPECIFIED TIME 

OFF WHEN SPECIFIED INPUT OCCURS 

3 ON WHEN SPECIFIED INPUT OCCURS 
OFF AT SPECIFIED TIME 

4 ON WHEN SPECIFIED INPUT OCCURS 
OFF WHEN SPECIFIED INPUT OCCURS 

5 ON WHEN SPECIFIED INPUT OCCURS 
OFF AFTER PERIOD OF TIME 

ENTER NUMBER OF ON/OFF 
COMBINATION (1-5)? 

If you select one of these combinations, one or a series 
of events can be created that use those same on and off 
parameters without redesignating this choice each time 
(to select another trigger combination, you exit to the 
status display and then return to this menu and make 
another choice). Number I will create events that use a 
time for both starting and stopping the event. Number 2 
creates events that start at the specified time but will not 
stop until a specified input changes the logic state. 
Number 3 will create events that start when the specified 
input occurs and will stop at a specified time. Number 4 
creates events that start when a specified input occurs and 
stop when another input occurs. If the same input-bit 
number is chosen for both conditions, it will constitute 
an "on while" state with the event activated only while 
the input bit is active. Number 5 creates a special type 
of event that starts when a specified input occurs and then 
waits a predetermined period of time (up to 24 hours) 
before stopping the event. 

After you have selected the on/off combination, the 
status display will appear, and you will be asked to select 
the number of the driver and module you want the event 
to use. After entering these, if you did not select the 
Message driver and the selected module has not been 
used before, you will be asked to give it a name, or label: 

216 CHARACTERS AVAILABLE 
ENTER NAME OF MODULE 

ONE RETURN STARTS NEW LINE 
AND TWO RETURNS ENDS 
? Front Porch Light 

The first line indicates the number of characters set aside 



130 B YTE • IUNE 1985 



CIRCUIT CELLAR 



for use as labels. The available space depends on the 
quantity of RAM in the system. If the module already exists 
(i.e., you have already programmed the porch light to come 
on by some other combination of parameters), the label 
will be displayed, and you will be prompted to add to or 
delete these events. 

Next, you will be asked to enter the parameters for the 
on and then the off part of the event. There will be 
prompts for either the time or input, depending on which 
combination you chose. 

The prompts for a time look like this: 

ENTER ON TIME 

1 SUN 2 MON 3TUE 4 WED 

5 THU 6 FRI 7 SAT 

8 REPEAT 9 DAY OF MONTH 

ENTER DAY OF WEEK, REPEAT CODE, 
OR DAY OF MONTH CODE (1-9)? 

If you enter a number from I to 7, the event will use 
the day of the week that you select. If you enter a 9, you 
will be asked for the day of the month: 

ENTER DAY OF MONTH (1-31)? 

If you enter 8. you will be prompted for how many days 
you want the event repeated: 

HOW MANY CONSECUTIVE DAYS DO YOU 
WANT THIS EVENT REPEATED (2-7)? 

For example, if you enter 5 and an event that starts on 
Monday, the event will occur every day from Monday 
through Friday. Repeating an event for seven days makes 
it a daily program. (For all modules, a combination of 
events can be designated. We could, for example, have 
the front porch light come on Monday through Friday from 
5 to 1 1 p.m., Saturday and Sunday from 8 p.m. to 2 a.m., 
for 10 minutes every time the front door opens |contact- 
closure input), and on one night for as long as necessary 
until you get home.) 

After the day is entered, you will be asked to enter the 
time: 

ENTER TIME AS HH:MM:A 
OR HH:MM:P 



The time of day is entered on a single line, the same 
way as setting the clock. 

If input is selected as part of the combination, you will 
be asked to enter the number of the input line that you 
want to control the event: 

ENTER INPUT # FOR ON (1-16)? 

or 
ENTER INPUT # FOR OFF (1-16)? 

If you select the Message driver and a message already 
exists for that module, you will be asked if you want to 



delete the old message. If you enter Y or no message 
existed, you can enter a message in the same way that 
you enter a label. Messages can be any length but are 
limited by available memory space. (Can't remember when 
to put the trash out? Have the HCS display PUT THE 
TRASH OUT every Friday morning at 8 a.m.) 

If you select the BSR Dimmer, you will be asked to enter 
the brightness level (I to 16): if you select the BSR Cycler, 
you will be asked for the time interval you want to use. 
Along with the BSR driver, these routines will repeat the 
prompts to create a new event using the same driver and 
module unless you abort the routine. 

Manual Control 

Manual Control lets you turn modules on and off without 
having to schedule an event. The routine will display the 
current driver/module status table and ask for the driver 
number. The routine then displays which keys perform 
which functions. 

KEY ASSIGNMENTS: 

MODULE NUMBER 



1-16 
Y 
N 
D 
R 



MODULE ON 
MODULE OFF 
DIM LIGHT 
NEW DRIVER 



To turn a module on or off, you must type the module 
number and the appropriate letter, such as 1Y to turn 
module number I on or 1N to turn it off. You can enter 
more commands on the same line, such as 1Y2Y3N. which 
would turn modules 1 and 2 on and module 3 off. If you 
want to manually dim a light, you must first turn it fully 
on and then type D until the desired brightness is reached. 
When you are finished with Manual Control, type a return 
to exit to the status display. 

The Restore Actual Status Function 

The Restore function is one of the more unique functions 
of the HCS. BSR control modules are notorious for ar- 
bitrarily turning on or off as a result of power-line tran- 
sients. While the HCS has direct outputs for the most 
critical control signals, it is disconcerting to find that BSR- 
controlled appliances and lamps are not in the desired 
state after a few hours. The HCS has the ability to restore 
the current state of all modules on command, on input, 
or at regular intervals. 

Restore lets you make sure that every module in use is 
set to the same status, on or off, that is currently in the 
status table. Since BSR modules can be manually con- 
trolled without the HCS (i.e., you can directly turn on the 
hall light by pressing the BSR wall-module button), it might 
be necessary to return the house or office to a known 
condition. 

[continued) 



IUNE 1985 -BYTE 131 



CIRCUIT CELLAR 



If a power failure occurs and the HCS is equipped with 
battery backup, a restore operation will be performed 
automatically after the power returns (it allows a few extra 
minutes for the line to settle first). Or, at any time, you 
can select the Manual Restore function to restore all out- 
puts to that status listed in the status display. 

The Auto-Restore function causes the HCS to perform 
a restore operation every 4 minutes automatically This 
is useful, for example, if the HCS is being used to control 
modules that are unattended for long periods of time and 
will not be manually overridden. 

A restore operation can also be triggered by an input. 
On power-up, restore by input is preset to bit 14 and in- 
active. When selected through the editing menu, the se- 
quence is as follows: 

RESTORE BY INPUT DISABLED 

INPUT NUMBER FOR RESTORE IS 14 

ENABLE RESTORE BY INPUT (Y-N)? Y 

ENTER INPUT NUMBER THAT YOU 
WANT TO CAUSE RESTORE, OR 
RETURN TO USE THE CURRENT 
INPUT NUMBER (1-16)? 

Hold by Input 

An equally unique HCS function is the Hold command. 
Hold is used to stop modules from turning on or off. For 
example, in a security system, the alarm modules could 
be put on hold when the building is open. Hold is ac- 
tivated and deactivated by input lines that you select. The 
lines default to 1 5 and 16 on power-up. The command dis- 
plays the following: 

HOLD STARTED BY INPUT #15 
HOLD STOPPED BY INPUT #16 
HOLD INPUTS CANNOT CHANGE HOLD STATUS 

MODULE(S) ARE NOT ON HOLD 



mini 

1234567898123456 

"EPENCE 1111111111111111 
I LEUEL 1111111111111111 

JJCKOUT 0000006008000000 



i LEUEL 
STATUS 



Photo 2: \nput status display. 



REDISPLAY STATUS 

1 ALLOW INPUTS TO CHANGE HOLD STATUS 

2 STOP INPUTS FROM CHANGING HOLD STATUS 

3 ASSIGN HOLD-INPUT NUMBERS 

4 SELECT MODULES TO PUT ON HOLD 

ENTER OPTION NUMBER (0-4)? 

When selecting modules to put on hold, the status 
display will show the letter M H," indicating which modules 
are set for hold. The "H" will toggle similar to the "S" in 
sunset when you enter a driver and module. When in the 
main display, modules on hold in the on state will be rep- 
resented by an inverse "1," and a module in the off state 
will be represented by an inverse "0" on the video display. 
When Hold is enabled, the above display will state that 
inputs can change Hold status and whether they are or 
are not currently on hold. 

In my application, I have the Hold input connected to 
the alarm system. When I am not home and the alarm is 
on, the HCS simulates occupancy. When the alarm is off 
and I am home, these functions are put on hold. 

Delaying and Bypassing Events 

Delay Event allows you to postpone the actual execution 
of an event for a time period up to 23 hours and 59 
minutes. For example, if you have an event that is sched- 
uled to turn a light on when you return home in the eve- 
ning and you are going to be 2 hours late, instead of 
creating a new event for this one occurrence, simply delay 
the event for 2 hours. If the light is scheduled to turn on 
at 18:00 and turn off at 18:15, a delay of 2 hours would 
cause the light to turn on at 20:00 and turn off at 20:15 
instead. After the delay has timed out, the event returns 
to its normal schedule. 

The Bypass Module function allows you to instruct the 
HCS to ignore a driver/module combination for a time 
period up to 44 days, 23 hours, and 59 minutes. During 
the time Bypass Module is enabled, the scheduled events 
for that module will not occur. For example, if you have 
a large number of events for a driver/module, such as 
heating or cooling your home, and you are going to be 
away for several days, instead of deleting all the events 
before you leave and reentering them when you return, 
you can bypass that module for the amount of time you 
will be gone. The bypass time begins as soon as you 
enable it. 

When selected, Bypass Module will display the current 
driver/module status and ask you for the driver and 
module to bypass. When you have entered these, it will 
ask for the length of the bypass in days, hours, and 
minutes. If you wish to remove a bypass early, entering 
for the days, hours, and minutes will abort the bypass 
that is in progress and restore normal operation. 

Input Status 

The current status of the input lines can be displayed by 
typing the P option. It is displayed as shown in photo 2. 



132 BYTE • JUNE 1985 



CIRCUIT CELLAR 



The row labeled REFERENCE is the nonactivated level 
for each input line. A reference level of indicates a nor- 
mally low/active high input signal. A reference level of I 
indicates a normally high/active low input. The row labeled 
CURRENT LEVEL is the current level of each input at the 
time the input status-display command is called. 

INPUT LOCKOUT (indicated by a logic I in the desig- 
nated display position) allows a user to selectively shut 
off inputs without using the Bypass Module or Hold func- 
tions. In the following display, inputs I through 6 are ac- 
tive low, and inputs 7 through 16 are active high. Inputs 
6, 8, and 10 are locked out. The current input levels are 
as displayed: 

INPUT STATUS 

1111111 

1234567890123456 

0000001111111111 

0110000110001111 

0000010101000000 



REFERENCE 
CURRENT LEVEL 
INPUT LOCKOUT 



SUPERKEYS 

When 1 first started testing the HCS, it was necessary to 
continually preset the on/off conditions of many modules 
so that I could observe specific functions, lb facilitate this, 
I designed the Superkey. Superkeys enable you to perform 
a large number of Manual Control operations with just 
two keystrokes. To create a Superkey, you specify which 
number you want to define (16 Superkeys are designated 
as #1— #16) and enter a list of modules you want to turn 
on or off. lb execute a Superkey, you enter its number 
followed by an escape. A typical Superkey list might ap- 
pear as follows: 



8 SUPERKEY 1 




1 BSR ON/OFF A 


1 OFF 


1 BSR ON/OFF A 


2 OFF 


1 BSR ON/OFF A 


3 ON 


1 BSR ON/OFF A 


4 ON 


1 BSR ON/OFF A 


5 OFF 


1 BSR ON/OFF A 


8 OFF 



If you press 1, then Escape, driver I modules 1, 2, 5, 
and 8 would turn off and modules 3 and 4 would turn on. 

Tracking Sunset and Onetime Events 

One function that the HCS can perform is turning lights 
on at the same time relative to sunset each day. Sunset 
changes from day to day throughout the year. Ordinarily, 
fixed-time controllers would need to have their program 
manually changed every few weeks in order to keep up 
with the sunset. The HCS has a special menu selection 
that allows you to designate which modules will have their 
on times changed, according to the long-term variation 
in actual sunset. Each month, on the 8th and 2 2nd, the 
HCS recalculates the on times of sunset-adjust-designated 
modules. (The calculation is accurate only for North 
America at the present time.) 



The 1-rime Event function allows you to create an event 
that will automatically delete itself after it executes the 
off portion of the event. When selected, it will display the 
current driver/module status table and ask you for the 
driver and module numbers. After you enter these, it will 
display all the events for that driver and module, each with 
an identifying number. To enable the l-Time Event func- 
tion for an event, enter the number of the event. If the 
particular event already has the I -Time Event function 
enabled, the HCS will ask you if you want to cancel it. 

A Simple HCS Application 

As I mentioned earlier, the Circuit Cellar and my home 
are somewhat unconventional. While many of you will no 
doubt find applications for the HCS as an environmental 
controller or security system, my initial use is for automatic 
lighting (I have a separate security system). Perhaps when 
you read this I'll have connected the air conditioning and 
vent fans, but right now I'm motivated by deadline and 
necessity. I am tired of walking in the dark, and it's hard 
to think about air conditioning when it's 7° and snowing 
outside. The only environmental control worth consider- 
ing right now as I write this is keeping the doors closed 
and all the heat on. 

When I go from the kitchen down to the storage area 
behind the Circuit Cellar, it is a long trek with six light 
switches along the way. In addition, there are a few other 
items 1 frequently switch on and off. If I assign a BSR 
module to each for remote control, the list could start as 
follows: 

Circuit Cellar floor lamp module #8 

HCS CRT monitor module #6 

Upstairs hallway light module #5 

Staircase light module #4 
Circuit Cellar hallway/copier light module #3 

Storage-area lights module #2 

Garage light module #1 

I n a standard off-the-shelf open-loop BSR controller, we'd 
be limited to timed activation of these lights or walking 
around with the BSR ultrasonic hand-held controller aimed 
at a command controller in each room. This is hardly con- 
venient. My idea of automatic lighting is noncontact and 
not user-activated! 1 want a completely passive system. 
When I walk into a room, the lights come on. As long as 
1 stay there, they remain on. When I leave, they turn off 
after a reasonable period of time. 

The HCS can be easily programmed to control lights and 
appliances in this manner by monitoring certain signals 
through its direct input lines. In this instance, passive in- 
frared motion detectors are used to scan the affected areas 
and indicate to the HCS when a person walks into a par- 
ticular area. The motion detector senses a difference in 
heat level between the person and the surrounding area 
and simply opens a relay contact. Using a + 5-V source 
and a pull-up resistor, the motion detector can be con- 

[continued] 



JUNE 1985 • BYTE 133 



CIRCUIT CELLAR 



nected to the HCS as a simple TTL input. 

To control all the lights in the areas 1 listed above, it was 
necessary to run a few wires around my house. Fortunate- 
ly, I already have an elaborate commercially installed 
security system, and 1 was able to tap off many of the re- 
quired signals directly from the alarm box. Unfortunate- 
ly, security systems are perimeter-oriented and specific in 
purpose. I had to add more motion detectors to cover all 
the areas I wanted to control. I spent a few days stringing 
wires and drilling holes. There are now a dozen little in- 
frared eyes watching my every move. Now, as I walk down 
the stairs, lights come on automatically, both on the stair- 
case and the top and bottom landings. 

Some of you may not want a computer-controlled house, 
but connecting these inputs and controlling the lighting 
provides a simple illustration of the HCS's capability and 
a process that I can describe. First, each motion detector 



is attached to a separate input bit. No motion is a logic 
(gnd), and motion detected is a logic I (+5 V). The in- 
puts are as follows: 

Input # 1 Garage-area motion detector 

Input #2 Circuit Cellar storage-area motion detector 

Input #3 Staircase motion detector 

Input #4 Upstairs hallway motion detector 

Input #5 Circuit Cellar office area 

Next, we fire up the HCS and enter the statements that 
turn on the appropriate light and extinguish it after the 
prescribed duration. For brevity, I have chosen to edit out 
some of the more repetitive displays. In the following com- 
munication exchange (done with a live HCS via modem), 
HCS keyboard or terminal entries are in italics. The ex- 
planations I've added are presented in lowercase letters. 

[continued] 



Listing 3: Programming events on the HCS to 


occur when a certain input occurs. 


COPYRIGHT (C) 1985 
CIRCUIT CELLAR INC 




HOME RUN CONTROL SYSTEM 
VER. 5.17 




ALL RIGHTS RESERVED 


> 


ENTER NEW PASSWORD: STEVE 


(password is asked for if jumper 2 has been installed) 


HOW MANY RINGS BEFORE ANSWERING 

= DON'T ANSWER (0-255)? 5 

1 JAN 2 FEB 3 MAR 4 APR 
5 MAY 6JUN 7 JUL 8 AUG 
9 SEP 10 OCT 11 NOV 12 DEC 


(if your Hayes-compatible auto-answer modem is installed, the HCS will 
send it ATS0= 5 to tell it to answer at 5 rings) 


ENTER MONTH (1-12)? 1 




ENTER DAY OF MONTH (1-31)? 27 




1 SUN 2 MON 3 TUE 4 WED 
5 THU 6 FRI 7 SAT 




ENTER DAY OF WEEK (1-7)? 1 




ENTER TIME AS HH:MM:A 

OR HH:MM:P 




? 2:48:P 




(the status display appears here with nothing scheduled; next. A is entered to create an event) 


ENTER LETTER OF CHOICE (A-V)? A 




ENTER YOUR PASSWORD: ***** 

* MEANS EVENTS ARE SCHEDULED 


(the first time that you enter a command, the HCS requires a password 
verification; it will not be required again unless 3 minutes expire with no 
communication; an asterisk and not the password is actually displayed} 


1111111 
1234567890123456 

1 BSR ON/OFF A 

2 BSR DIMMER A - 

3 BSR CYCLER A 

4 BSR ON/OFF B ----- 






[continued) 



134 B YTE • JUNE 1985 



CIRCUIT CELLAR 



5 BSR ON/OFF C 

6 DIRECT OUT 

7 MESSAGES ------ --- 

8 SUPERKEY 

ENTER DRIVER NUMBER (1-8)? 1 

ENTER MODULE NUMBER (1-16)? 1 

THIS DRIVER/MODULE NOT IN USE 

CREATE EVENT.DELETE EVENT.OR 
REPORT EVENTS AGAIN (C/D/R)? C 

(the event-trigger listing appears again here) 

ENTER ON/OFF COMBINATION (1-5)? 5 
ENTER INPUT # FOR ON (1-16)? 1 

ENTER PERIOD OF TIME TO WAIT 
BEFORE TURNING OFF 

NUMBER OF HOURS (0-23)? 
NUMBER OF MINUTES (0-59)? 5 

374 CHARACTERS AVAILABLE 
ENTER NAME OF MODULE 

ONE RETURN STARTS NEW LINE 
AND TWO RETURNS ENDS 
GARAGE LIGHT 



(each time you enter the create or delete option, the HCS lists the status 
display with an asterisk to indicated modules that are in use— this is called 
the scheduled-events display) 



(here we have selected to turn on BSR #l for 5 minutes each; input #l 
goes high; the time duration extends if input #l is retriggered before the 
5 minutes has expired) 



GARAGE LIGHT 
1 1NPUT# 1 



PERIOD 00:05 



ENTER INPUT # FOR ON (1-16)? 

(entering just a return redisplays the status menu) 
SUN JAN 27 2:53 PM 



1111111 
1234567890123456 

1 BSR ON/OFF A 

2 BSR DIMMER A 

3 BSR CYCLER A ----- 

4 BSR ON/OFF B 

5 BSR ON/OFF C - - 

6 DIRECT OUT 

7 MESSAGES 

8 SUPERKEY A 

* MEANS EVENTS ARE SCHEDULED 

1111111 
1234567890123456 

1 BSR ON/OFF A * 

2 BSR DIMMER A 

3 BSR CYCLER A 

4 BSR ON/OFF B 

5 BSR ON/OFF C 

6 DIRECT OUT 

7 MESSAGES 

8 SUPERKEY ----- -- 

ENTER DRIVER NUMBER (1-8)? 1 
ENTER MODULE NUMBER (1-16)? 2 

THIS DRIVER/MODULE NOT IN USE 



(this is the form the HCS lists its programmed events) 
(more events could be added) 



(the event we just scheduled is shown on the status display; it is presently 
inactive) 



(we can go directly to the create function without displaying the editing 
menu; just enter A and return) 



(scheduled-events display) 



[continued) 



JUNE I985 -BYTE 135 



CIRCUIT CELLAR 



CREATE EVENT.DELETE EVENT.OR 
REPORT EVENTS AGAIN (C/D/R)? C 






(the event-trigger listing is redisplayed here) 






ENTER ON/OFF COMBINATION (1-5)? 5 
ENTER INPUT # FOR ON (1-16)? 1 






ENTER PERIOD OF TIME TO WAIT 
BEFORE TURNING OFF 






NUMBER OF HOURS (0-23)? 
NUMBER OF MINUTES (0-59)? 5 






358 CHARACTERS AVAILABLE 






ENTER NAME OF MODULE 






ONE RETURN STARTS NEW LINE 
AND TWO RETURNS ENDS 
STORAGE-AREA CEILING LIGHT 






STORAGE-AREA CEILING LIGHT 






1 INPUT# 1 PERIOD 00:05 






ENTER INPUT # FOR ON (1-16)? 2 






ENTER PERIOD OF TIME TO WAIT 
BEFORE TURNING OFF 






NUMBER OF HOURS (0-23)? 
NUMBER OF MINUTES (0-59)? 5 

STORAGE-AREA CEILING LIGHT 


(this time we have scheduled the storage-area light to come on 
puts #1 or #2 are triggered) 


if either in- 


1 INPUT# 1 PERIOD 00:05 

2 INPUT# 2 PERIOD 00:05 






ENTER INPUT # FOR ON (1-16)? 


(enter return) 





The HCS begins with a cold start, as shown in listing 3. 
Rather than bore you with continued display listings, I'll 
add a bit more without repeating it. In a similar manner 
(using option 5 from the event-trigger listing in all cases) 
as presented in listing 3, the following is scheduled: 

CIRCUIT CELLAR HALL LIGHT 

1 INPUT* 3 PERIOD 00:03 

2 INPUT* 2 PERIOD 00:05 



STAIRCASE LIGHT 

1 INPUT* 3 

2 INPUT* 4 



PERIOD 00:03 
PERIOD 00:03 



UPSTAIRS HALL LIGHT 

1 INPUT* 3 PERIOD 00:03 

2 INPUT* 4 PERIOD 00:03 

HCS CRT MONITOR 
1 INPUT* 2 PERIOD 00:15 

CIRCUIT CELLAR FLOOR LAMP 
1 INPUT* 5 PERIOD 00:30 

At this point, seven modules have been programmed 
with all events of the "on-duration" format, lb give you 
some traditional control reference, I'd also like to dem- 



onstrate a time-on/time-off event as well. In my case, I'll 
turn the porch light on at 4:30 p.m. each day and off at 
6 a.m. the next morning, as shown in listing 4. 

IBM PC HCS EXEC 

While the menu-driven event programming is straight- 
forward in the basic HCS and requires no external sup- 
port hardware, the facilities afforded in a larger computer 
can greatly expand user-friendliness. An IBM PC HCS Exec 
upload/download program written by Robin Computing 
takes HCS programming from sequential menu entry to 
"paint by numbers." Shown in photo 3 (the display can 
be either black-and-white or color), HCS Exec uses cur- 
sor positioning, return, and escape as its primary entry 
codes. It can communicate with the HCS at up to 4800 
bits per second and upload and download the complete 
HCS event program sequence. 

In Exec, drivers and module numbers are referred to 
as devices, selected by name, as shown in photo 4. By 
positioning the cursor over the "upstairs hall light" and 
pressing Return, we display that device's particulars, as 
shown in photo 5. In Exec, any time a device selection 
is necessary, a window with the device list appears, and 

[continued) 



136 BYTE • JUNE 1985 



Inquiry 305 



CIRCUIT CELLAR 



Listing 4: Programming events on the HCS to occur at a certain time. 
SUN JAN 27 3:06 PM 



1111111 
1234567890123456 

1 BSR ON/OFF A 000000-0 

2 BSR DIMMER A 

3 BSR CYCLER A 

4 BSR ON/OFF B 

5 BSR ON/OFF C 

6 DIRECT OUT 

7 MESSAGES 

8 SUPERKEY A 

* MEANS EVENTS ARE SCHEDULED 

1111111 
1234567890123456 

1 BSR ON/OFF A ******-* 

2 BSR DIMMER A 

3 BSR CYCLER A 

4 BSR ON/OFF B 

5 BSR ON/OFF C 

6 DIRECT OUT 

7 MESSAGES 

8 SUPERKEY 

ENTER DRIVER NUMBER (1-8)? 1 
ENTER MODULE NUMBER (1-16)? 12 

THIS DRIVER/MODULE NOT IN USE 

CREATE EVENT.DELETE EVENT.OR 
REPORT EVENTS AGAIN (C/D/R)? C 

(the event-trigger listing shows up here) 

ENTER ON/OFF COMBINATION (1-5)? 1 

ENTER ON TIME 

1 SUN 2 MON 3 TUE 4 WED 

5 THU 6 FRI 7 SAT 

8 REPEAT 9 DAY OF MONTH 

ENTER DAY OF WEEK, REPEAT CODE, 
OR DAY OF MONTH CODE (1-9)? 8 

HOW MANY CONSECUTIVE DAYS DO YOU 
WANT THIS EVENT REPEATED (2-7)? 7 

ENTER TIMES FOR THE FIRST DAY 

1 SUN 2 MON 3 TUE 4 WED 
5 THU 6 FRI 7 SAT 

ENTER DAY OF WEEK (1-7)? 1 

ENTER TIME AS HH:MM:A 
OR HH:MM:P 

? 4:30:P 

ENTER OFF TIME 

1 SUN 2 MON 3 TUE 4 WED 
5 THU 6 FRI 7 SAT 

ENTER DAY OF WEEK (1-7)? 2 



(our status display indicates 
that we have seven modules in 
use— none on) 



(create an event by entering A) 



(scheduled-events display again) 



(this time we select item l) 



( l want the event repeated 
seven days a week starting on 
Sunday) 



(turn on at 4:30 p.m. Sunday) 



[continued) 




IEEE-488 Interfaces and 
Bus Extenders For: 

IBM PC, PCjr 
& COMPATIBLES 

DEC UNIBUS, Q-BUS 
& RAINBOW 100 

MULTIBUS, VMEbus 
STD & S-100 

Full IEEE-488 functionality, with the most com- 
prehensive language and operating system cover- 
age In the industry. It takes experience to tftake 
IEEE-488 systems work with nearly 4000 devices 
available from more than 500 different manufac- 
ture s, and experience is what enables National 
Instruments, to take the GPIB to fSe 
second power and beyond. 




o 




f 



Your personal guarantee of unsurpassed 

customer support and satisfaction. 
CALL 1-800-531 -GPIB for instant access 
to 100 + man-years of GPIB experience. 



f7 NATIONAL 
M INSTRUMENTS 

12109 Technology Blvd. 
Austin, TX 78727 
1-800-531-5088 512/250-9119 
Telex: 756737 NAT INST AUS 



IBM and PCjr are trademarks of International Business Machines. MULTI- 
BUS is a trademark of Intel. DEC. UNIBUS. Q-BUS. and Rainbow 100 are 
. trademarks ot Digital Equipment Corporation. 



JUNE 1985 -BYTE 137 



Inquiry 90 




<8* 



6&' A 












tf< 






#* 



*v' 



%V 



a«> 






t°^ e V^_ 




CIRCUIT CELLAR 



ENTER TIMEASHH:MM:A 




OR HH:MM:P 




? 6:00:4 


(turn off at 6:00 a.m. Monday) 


236 CHARACTERS AVAILABLE 




ENTER NAME OF MODULE 




ONE RETURN STARTS NEW LINE 




AND TWO RETURNS ENDS 




FRONT PORCH LIGHT 






(the HCS automatically 


FRONT PORCH LIGHT 


generates the complete weekly 


1 SUN 4:30 PM MON 6:00 AM 


schedule) 


2 MON 4:30 PM TUE 6:00 AM 




3 TUE 4:30 PM WED 6:00 AM 




4 WED 4:30 PM THU 6:00 AM 




5 THU 4:30 PM FRI 6:00 AM 




6 FRI 4:30 PM SAT 6:00 AM 




7 SAT 4:30 PM SUN 6:00 AM 




SUN JAN 27 3:09 PM 






(turning on the porch light at 


1111111 


4:30 p.m. in January is fine but 


1234567890123456 


not in July; returning to the 


1 BSR ON/OFF A 000000-0 


editing menu, we select I and 


2 BSR DIMMER A 


sunset-adjust the porch light) 


3 BSR CYCLER A 




4 BSR ON/OFF B 




5 BSR ON/OFF C 




c DIRFPT Ol IT 




7 MFSSAf^F^ 




1 IVI QOOrAVJJCO 

q ciippDi<FY 


(space brings up the edit menu. 


o ourLnrvL i 




then the following) 


ENTER LETTER OF CHOICE (A-V)? J 




SUNSET ADJUSTMENT 




1111111 




1234567890123456 




1 BSR ON/OFF A ******-* * 




2 BSR DIMMER A 




3 BSR CYCLER A 




4 BSR ON/OFF B 




5 BSR ON/OFF C 




fi DIRFDT OUT 




7 MF^AftF^ 




f IVICOOAAvJ CO 

q ci jpprkpy 




o ourtniM. i 

ENTER DRIVER NUMBER (1-8)? 1 




ENTER MODULE NUMBER (1-16)? 12 




SUNSET ADJUSTMENT 




1111111 




1234567890123456 




1 BSR ON/OFF A ******-* s 




2 BSR DIMMER A 







138 BYTE • JUNE 1985 



Inquiry 71 



CIRCUIT CELLAR 



3 BSR CYCLER A 

4 BSR ON/OFF B 

5 BSR ON/OFF C 

6 DIRECT OUT 

7 MESSAGES 

8 SUPERKEY 

ENTER DRIVER NUMBER (1-8)? 

SUN JAN 27 3:10 PM 

1111111 
1234567890123456 

1 BSR ON/OFF A 000000-0— -0 

2 BSR DIMMER A 

3 BSR CYCLER A 

4 BSR ON/OFF B 

5 BSR ON/OFF C 

6 DIRECT OUT 

7 MESSAGES 

8 SUPERKEY P 



(the porch-light event schedule 
will now be automatically 
adjusted every 8th and 22 nd to 
follow the change in sunset) 



(just enter a return to get the status 
display again) 



INPUT STATUS 

1111111 

1234567890123456 

REFERENCE 0000011111111111 

CURRENT LEVEL 00001 11111111111 

INPUT LOCKOUT 1111100000000000 

A CHANGE REFERENCE LEVEL 
B CHANGE LOCKOUT STATUS 

ENTER LETTER OF CHOICE (A-B)? 

(at this point the lockouts are removed from input bits 
the input status then appears as follows:) 

INPUT STATUS 



(input events take priority 
over everything else; to keep 
the status from changing while 
l was communicating via a live 
terminal to an installed HCS. I 
locked out inputs 1-5: entering 
P displays the input status) 



(for this illustration, l had 

only five inputs connected; 

6- 16 are open and read logic 1) 



through 5; 



1111111 

1234567890123456 

REFERENCE 0000011111111111 

CURRENT LEVEL 00001 11111111111 

INPUT LOCKOUT 0000000000000000 

A CHANGE REFERENCE LEVEL 
B CHANGE LOCKOUT STATUS 

ENTER LETTER OF CHOICE (A-B)? 

(return entered to see status again) 

SUN JAN 27 3:16 PM 

1111111 
1234567890123456 

1 BSR ON/OFF A 001110-1 

2 BSR DIMMER A 

3 BSR CYCLER A 

4 BSR ON/OFF B 

5 BSR ON/OFF C 

6 DIRECT OUT 

7 MESSAGES 

8 SUPERKEY 



(note that bit #5 is high) 



(while the input display showed 
only me at the terminal in the Circuit 
Cellar when I called it— motion 
sensors are short-pulse output 
devices— apparently the system 
caught me running upstairs to the 
bathroom; it turned the lights 
on, by the way) 



GET SERIOUS! 

*** JUNE MODEM SPECIAL *** 

ANCHOR VOLKSMODEM 1200 $179.95 

* SYSTEMS * 

ITT EXTRA PC-256K 

Two 1/2 Ht. 360K Dr's, Monochrome Board, 12" 
Amber/Green Monochrome Monitor, Serial & Parallel 
Port. Wordstar. Multiplan. Advanced Basic, DOS 2.1. 

$1,995.95 

* Same features in IBM PC $2,624.95 

IBM PC-256K 

One TEAC 360K Dr.. Monochrome Board. Parallel 

Printer Port, Amber/Green Monochrome Monitor, 

DOS 2.1. ONLY $1,995.95 

IBM PC-256K 

Two TEAC 360K Dr's, Color/Monochrome Graphics 

Board. Parallel Printer Port, Taxan Monochrome 

Display. DOS 2.1. ONLY $2,145.95 

10 Meg Upgrade $639.95 

* TOP TEN SOFTWARE * 

dBASE III IBM $359.95 

Print Shop APPLE 34.95 

Bankstreet Writer IBM/APPLE 49.95 

Managing Your Money IBM/APPLE 115.95 

Dollars & Sense IBM 113.95 

Norton Utilities 3.0 IBM 59.95 

PFS Write/File/Report 85.95 

Sideways IBM/APPLE 39.95 

Multimate IBM 269.95 

Crosstalk IBM 104.95 

Microsoft Word IBM/MAC 249.95/119.95 

* HARDWARE * 

AST Six Pack Plus 64K $259.95 

STB Rio Plus II 64K 249.95 

PARADISE 5-Pack 64K 179.95 

QUADRAM Quadboard 64K 249.95 

STB Color/Monochrome Graphics 259.95 

STB Monochrome Graphics 259.95 

HERCULES Monochrome Graphics 329.95 

HERCULESColor Card 179.95 

* PRINTERS DOT MATRIX * 

PANASONIC 1091 120CPS $289.95 

PANASONIC 1 092 180CPS/NLQ 33CPS 379.95 

EPSON FX-80+ 160CPS 395.95 

EPSONFX-100+ 160CPS 644.95 

OKIDATA 92P 160CPS 389.95 

BROTHER 2024L 200CPS/NLQ 96CPS 995.95 

* PRINTERS LETTER QUALITY * 

BROTHER HR-15 17CPS $369.95 

BROTHER HR-25 24CPS 609.95 

BROTHER HR-35 36CPS 849.95 

PANASONIC 3151 23CPS 495.95 

* MONITORS * 

TAXAN 121/122 Monochrome $145.95 

PRINCETON HX-12 469.95 

PRINCETON MAX-12 179.95 

ZENITH Amber/Green Composite 85.95 

NEC 1260 Green Composite 85.95 

NEC 1305 RGB/T.V 449.95 

* MODEMS * 

HAYES 1200B Internal w/Smartcomm 2 . . . .$369.95 

HAYES Micromodem He 219.95 

HAYES 2400 649.95 

ANCHOR Volksmodem 300 54.95 

PROMETHEUS Promodem 1200 324.95 

* APPLE * 

80 COLUMN 64K lie Only $99.95 

80 COLUMN Card II+ Only 58.95 

VIDEX Ultraterm 178.95 

ASCII Express 79.95 

2-80 Card 49.95 

APRICORN Serial Card 59.95 

MICRO SCI A2 Drives 159.95 

APPLE Compatible Drive for IIC 169.95 

16K Card 49.95 

THOUSANDS OF ITEMS AVAILABLE. 
CALL FOR COMPLETE PRICING. 

714/840-2406 np| 

So Habla Etpa not l ^^^ l 

CALIFORNIA 
MICRO HOUSE 

16835 Algonquin St., Huntington Beach, CA 92649 

Corporatt accounts walcomad, purcliaM ordara accaptad with nat 30 day 
tarma, tubjact to cradll approval. All prtcaa raprasant caah prlcaa. Allllams 
ahlppad naxt day In factory taalad packagaa. Wa guarantaa all llama lor 30 
daya. California raaldanla plaaaa add 6% aalai lax. Pilcaa lubfrct lo change 
without notlca. 



JUNE I985 -BYTE 139 



CIRCUIT CELLAR 




Photo 3: HCS Exec initial menu. 



Photo 4: Device selection on Exec. 




Photo 5: Device particulars as shown on Exec. 



Photo 6: Input selection on Exec. 




Photo 7: Input particulars as shown on Exec. 



Photo 8: Device status on Exec. 



140 BYTE • JUNE 1985 



CIRCUIT CELLAR 



the cursor is merely positioned over the device to select it. 

In a similar manner, Exec defines and designates inputs 
by name, as photo 6 shows. r Ifen of the inputs are shown 
at a time (they scroll up and down), and positioning the 
cursor over an input gives the particulars for that input. 
In photo 7, the "Circuit Cellar Staircase" input designates 
a motion detector connected to input line #3, which is cur- 
rently enabled and is activated with a logic I input level. 
When all inputs are defined, Exec can monitor inputs or 
devices in real time. The status display and input option 
(see photos 1 and 2) are polled once a second by Exec 
and used to update a real-time display on the PC Devices 
that are currently active are highlighted (see photo 8). 

Once the devices, and inputs if necessary, have been 
defined, events can be designated for each output device. 
In the case of the porch light (photo 9), seven daily events 
turn the light on at 7 p.m. and off at 6 a.m. For the upstairs 
hall light (photo 10), 3-minute time periods are triggered 
by either inputs from the "Circuit Cellar Staircase" mo- 
tion detector or the "Upstairs Hallway" motion detector. 

One thing that I hadn't thought of until late in the pro- 
cess is shown in photo 11. Under program control, this 
HCS option enables you to connect a parallel printer to 
produce a permanent record of time, date, and events trig- 
gered by an input change of state. 

In Conclusion 

It's impossible to demonstrate all the features of the HCS 
in a few articles. My system has expanded considerably 
since the first few automatically controlled lights. Now I 
can call the Circuit Cellar from anywhere in the world, 
assess the situation, and modify the control accordingly. 
Of course, this same capability can be accomplished with 
your average personal computer, an elaborate I/O (input/ 
output) interface, and many programmer-months of effort. 

The HCS is a stand-alone single-board realization of all 
these fantasies. It is not an exercise left to the reader but 
a tried-and-proven design that allows control-happy com- 
puterists to come out of the closet at a reasonable 
expense. 

For those of us who are beyond help, the maze just 
keeps growing. The 3- by 4-foot plywood area is full, a 
second HCS is performing dedicated control tasks, and 
I really am thinking about the air conditioning. Given all 
the installed motion detectors, the HCS can make real-time 
decisions and direct air conditioning only to inhabited 
areas. What's another 18-lead cable strung through the 
Circuit Cellar? 

EXPERIMENTERS AND OEM USERS 

As always, 1 try to support the computer experimenter by 
providing sources for many of the components. The Cir- 
cuit Cellar HCS is suitable for OEM applications as well. 
It is available in various configurations that are all ultimate- 
ly upgradable to the same potential. 
If you plan on building the unit from scratch, good luck 




Photo 9: Event triggers for a porch light. 




Photo 10: Event triggers for a hall light. 




Photo 1 1 : Printer-interface capability. 



IUNE 1985 -BYTE 141 



Inquiry 234 




Real-Time Multitasking Executive 



i No royalties 
i Source code included 
i Fault free operation 
i Ideal for process control 
i Timing control provided 
i Low interrupt overhead 
i Inter-task messages 



Options: 

■ Resource Manager 

■ Buffer Manager 

■ Integer Math Library 

■ Language Interfaces : 

C Pascal 
PL/M Fortran 

■ DOS File Access : 

CP/M-80 
IBM PC DOS 




AMX IsTM of KADAK Products Lid. 
CP/M-80 UTM of Digital Research Corp. 
IBM, PC DOS areTM olIBM Corp. 



AMX for 8080 $ 800 US 

8086 950 

6809 950 

68000 1600 

Manual (specify processor) 75 



J£ KADAK Products Ltd 



(604) 734-2796 
Telex: 04-55670 
206-1847 W. Broadway, Vancouver, B.C., Canada V6J 1Y5 




- <&n — I ONLY 

^nfn PUBLIC DOMAIN 
SOFTWARE 

is uncopyrighted, so no license fees to pay to anyone!. 
Thousands of useful dbase, spreadsheet, word processors, 
games, utilities and business programs you can copy yourself 
from our User Group rental libraries. Join hundreds of 
companies .and users enjoying a wealth of inexpensive 
software! 

RENTAL LIBRARIES FOR CP/M 
SIG/M UG (New Jersey Area Computer Club) 

216 Disk Sides $1 25.00 

CP/M UG (New York Area Computer Club) 

92 Disk Sides ! $45.00 

PICONET (Bay Area User Group) 

34 Disk Sides $25.00 

KUG (Charlottesville Kaypro User Group) 

25 Disk Sides $25.00 

NATIONAL EPSON UG 

32 Disk Sides $35.00 

PD DIRECTORY CATALOG DISK 

SPECIAL SALE— includes CP/M, SIG/M UG&PNET .. $5.00 pp 

RENTAL LIBRARIES FOR IBM PC DOS 

PC-BLUE (NYACC) 

82 Disk Sides $85.00 

IBM-PC SIG (Santa Clara Group, others) 

230 Disk Sides $250.00 

RENTAL LIBRARIES FOR COMMODORE 64 

28 Disk Sides $25.00 

PD DIRECTORY BOOKLET $12.00 pp 

Rental is for 7 days alter receipt. 3 more days grace for return. Use your 

credit card — NO DISK DEPOSIT! Most formats available —even 

> available for sale; $6.00 per disk full. 

24 hr„ 3 minute info, recording 

— "(5^57727-1 015 

NATIONAL PUBLIC DOMAIN RENTAL CENTER 

1533 Avohill Dr., Vista, CA 92083 
" " (619) 941-0925 Orders 



CIRCUIT CELLAR 



and take heart. Send me a picture of your board, and I'll 
send you a hexadecimal dump (16K bytes) of the control 
software (provided it is for noncommercial private use). 
If you're a bit more well-heeled, I'll supply the code on 
two 2764 EPROMs (erasable programmable read-only 
memories) and a manual for $32, postpaid in the U.S., $5 
extra overseas. (No picture is required.) 

Circuit Cellar Feedback 

This month's feedback begins on page 46 1. 

Next Month 

I'll present a collection of alarm and environmental moni- 
toring circuits. ■ 

Special thanks to Bill Summers and Leo Taylor for their software expertise. 

Editor's Note: Steve often refers to previous Circuit Cellar articles. Most 
of these past articles are available in book form from BYTE Books, 
McGraw-Hill Book Company. POB 400. Hightstown, N] 08250. 

Ciarcia's Circuit Cellar. Volume I covers articles in BYTE from September 
1977 through November 1 978. Volume II covers December 1 978 through 
June 1980. Volume III covers July 1 980 through December 1981. Volume 
IV covers lanuary 1982 through June I983. 

The following items are available from 

The Micromint Inc. 

2 5 Terrace Dr. 

Vernon, CT 06066 

(800) 635-3355 for orders 

(203) 871-6170 for information 

1. Home Run HCS— Complete assembled system with enclosure and 
parallel-encoded keyboard HCSOl. $589 

2. Home Run HCS-Populated PC board. Assembled and tested PC 
board. No enclosure or keyboard HCS02, $429 

3. Home Run HCS— Video-based kit. Includes PC board and all com- 
ponents except enclosure, keyboard, and serial-interface components 
(ICI6. IC17. IC20. and two DB-2 5 connectors) HCSV05. $329 

4. Home Run HCS— Ierminal-based kit. Includes PC board and all 
components except video-display processor (IC22, IC2 5, and IC26). 
No keyboard, enclosure, or RF modulator HCST06. $289 

5. 8K-byte static-RAM upgrade. Increases RAM to 16K bytes 
HCS20, $35 

6. Apple ll-compatible ASCII-encoded keyboard HCS21, $79 

7. Wall transformer/transmitter module (available separately) 
HCS22, $40 

8. IBM PC Upload/Download event-schedule-storage software with 
terminal emulator, written in C provided on IBM PC-DOS 2.0 disk 
HCS25. $49 

All kits and assembled units include operators manual, power supply 
with wall transformer/transmitter module, and 8K bytes of RAM. All 
units are supplied without keyboard-encoder chip (not necessary 
when using encoded keyboard, ICI 8— optionally available). All item 
numbers that list enclosures also include backup battery holder (six 
C cells), less batteries. Serial-port and video-display-processor up- 
grades for items 3 and 4 and various other components are also 
available. 

Please include $8 for shipping and handling in the continental United 
States, $12 elsewhere. New York residents please include 8 percent 
sales tax. Connecticut residents please include 7.5 percent sales tax. 



To receive a complete list of Ciarcia's Circuit Cellar project kits, cir- 
cle 100 on the reader-service inquiry card at the back of the magazine. 



142 BYTE • JUNE 1985 



Inquiry 304 



C^&ggS^SeS^ 




- 



"Difficult to use", -Amazingly powerful", "Can't spot 
syntax errors", "It's so much faster." G is the 
programming language of the decade. It has the 
power and the sophistication everyone is looking for, 
yet it's so difficult to use. 
- With Living C everyone can program in C That 
means you can learn how to write powerful 
applications in C that run at great speed. Living C is a 
systematic programming tool, that shows you, 
through cursor movements, the statements that are 
actually executed (and their consequence), rather 
than the bnesyou think are executed. This one feature 
alone will allow immediate and correct 
understanding of your own, or equally importantly, 
someone else's program. 

So what's Living C got? Well, it consists of a full 
function Screen Editor, compiler and run-time 
package that allows you to 'animate' the code on 
screen. Breakpoints may be set, or programs may be 
traced one line at a time. Several windows may be 
displayed on your PC's screen, so that your program's 
output is kept separate from your debugging 
information. 

Variables may be examined or altered, and in 
addition, the value of a variable may be continuously 
displayed in a window. 



Furthermore, Living C gives you full menu and 
multi-level intelligent tielp facilities, allowing you to 
call for help and advice at any time during entry, 
execution or debugging of your C code. During 
compilation any errors are automatically highlighted 
in the text, which can then be corrected immediately 
using Living C's full screen editor. 

Finally, once you've finished developing and 
editingyour program, Living C will disappear into the 
background to letyou get on with running the 
program you've created. 



•-/,..■.-'; 

cC$ 



Main Features: V_-" S" *-^> C~^> <_ 

• Full C compiler compatible with Kernighan and 

Ritchie standard y~*s' C-^ ^'^sf' ^""x" C ^°" 

Programs are fully animated on screen 



>lewitl 



Multiple windows to separate output and 

ease testing 

Full trace and debug facilities 

Full screen editor included. Errors can be corrected 

without leaving the environment and the 

compilation continued 

Teaching tool for learning C or understanding 

complex programs 



c 



c 



LIVING C - PERSONAL ONLY $99 

^/^ C<^ (^\s /^ ^"^ C ^"""^l* f v .^ *r f v^/ 

Living Software, 250 Worth Orange Avenue, Suite 820, Orlando, Florida 32801 



72 

Mail to: Living Software 

250 Worth Orange Avenue, Suite 820 

Orlando, Florida 3280! 






to 



To order your copy of Living C -Personal, 
please complete this form: 



Quantity 



$99x 
$99 x 



Please Senc 

Living C - Personal @ 

Code Generator® 

Handling & Shipping Orders 

Florida residents please include Florida Sales Tax 

TOTAL 

Payment QVisa QMC □Check □ Money Order 

Credit Card expiry date / 

Name on Card 

Card # 



Name. 



.= $ 

.= S 

- $ 

$ 
$ 



Shipping Address . 



10.00 



City. 



State . 



-Zip- 



Telephone 

Living C - Personal is available for PC-DOS with min 1 92KB RAM. 

COD's and Purchase Orders will not be accepted by Living 
Software. 



Inquiry 444 



IUNE 1985 -BYTE 143 




- - +m*mmw i i nimiMrt 



DOES WORKING ON LOTUS 1-2-3 MAKE YOU SEE RED? 



Granted, Lotus 1-2-3™ can be a fast spreadsheet. 

Except when you first buy it, take out the five floppy 
disks, study the manual to figure out which ones do what, 
put the plastic doohickey over the keyboard, and begin 
reading about all the installation procedures you need to 
get the thing up and running. 

Or if you never make a circular calculation (any simul- 
taneous equation, even something as simple as "bonus 
equals 10% of profit after bonus") when doing a compli- 
cated spreadsheet. 



By the time 1-2-3 calculates it correctly, you may have 
retired. 

Or if you'd like to plot your data with a single key- 
stroke, because it can take several minutes (including a 
disk change) just to start the process. 

Or if you'd like to quickly create a 
file directory under program con- 
trol. 1-2-3 can't do that at all . V ^ 

What's the point of all this? 

We'd like you to go down to 




144 B YTE • IUNE 1985 



^ 




/our software dealer and see a new product called 
kiperCalc® 3 Release 2, which, unlike Lotus 1-2-3, does 
ill of the above. 

Along with a larger spreadsheet. Vastly superior 
graphics. Incredible speed (that becomes even faster when 
jsed with the 8087 or 80287 math co-processors, which 
-2-3 doesn't support). And more. 

For a lot less money. 

All on one disk that you can run right out of the 
)ox. (Our lawyers want you to know we include an addi- 

1985 Computer Associates Internationa), Inc. SuperCalc is a registered trademark of Computer Associ, 
rademark of Funk Software, Inc. 

Inquiry 382 



tional file disk. Which also contains the popular printing 
program Sideways", so you'll never have to cut and 
paste wide printed reports together again. Unless you 
use 1-2-3.) 

But don't believe us about all this. Go take 
a look. 

After you do, one thing should become 

0bVi0 Whatareyou SORClM/lUS 
waiting for? MICRO SOFTWARE 

waiting 1UI . a Divisionof Computer Associates international. Inc. 

ites International, Inc. Lotus and 1-2-3 are trademarks of Lotus Development Corporation. Sideways is a 

JUNE 1985 'BYTE 145 




Chart-Master™ turns 

volumes of complex data into 

easy-to-understand graphics. 




"A picture is worth a thousand words." With this simple 
concept as a building block, Chart-Master is changing the 
way busy executives, analysts and secretaries look at, 
interpret and present information. In a fraction of the time 
required to wade through volumes of printouts, you can 




wan um t wc nxa 



i ~m 




Values printed at data points; both left and right Y-axis scales; floating 
legends & bars; both horizontal & vertical formats; exploded pie sections. 

produce easy-to-understand bar charts, pie charts and 
scatter diagrams quickly and dramatically. Chart-Master 
makes it easy to customize reports and presentations with 
six different fonts, label placement, proportional pie charts 
and more. 

Menu-driven Chart-Master allows you to enter data and 
select a chart format at the press of a button. You then 
preview your selection on your personal computer screen 
as it would appear in final form. Or, you can review the 
various Chart-Master graphto-opjjons to make sure you 
have selected the most effective fo?f1iat>.When satisfied, 

146 B YTE • IUNE 1985 



you can transfer your selection to paperbr acetate trans- 
parencies for a colorful;, presentation-quality chart in 
seconds. 

Chart-Master presents a clear picture of the "bottom 
line," which conveyors of information understand and deci- 
sion makers appreciate. That's why major corporations like 
GE, Eastman Kodak, Exxon, Union Carbide, GM, AT&T, 
DuPont, 3M, Citibank, Motorola, Procter & Gamble, and 
GTE rely on Chart-Master to translate "volumes of com- 
plex data into meaningful information." 

Chart-Master supports the IBM Instruments XY750, 
Panasonic VP Series, Houston Instruments DMP29, 
Yokogawa PL 1000 and Strobe plotters, in addition to the 
Hewlett-Packard family of plotters, for use with IBM PC 
and other compatible computers. 

The retail price of Chart-Master is $375. For a complete 
information kit and name of your nearest dealer, contact 
Decision Resources, Inc., 25 Sylvan Road S., Westport, 
CT 06880. (203)222-1974. 



DecisionResourcei 

Software Designed for Decision Makers 

Inquiry 1 34 



by Samuel D. Fenster and 
Lincoln E. Ford, M.D. 



SALT 



A threaded interpretive 
language interfaced 

to BASIC 

for research laboratory 
applications 



Research laboratories such 
as ours have become in- 
creasingly dependent on 
computers. This spiraling 
dependence has been fueled by the 
decreasing cost and increasing avail- 
ability and power of microcomputers. 
A major impediment to the further 
use of computers is the lack of ade- 
quate software. To overcome this 
limitation, we developed a method of 
combining compiled and interpretive 
higher-level languages for general use 
in a diversity of laboratory applica- 
tions. 

In our previous work with mini- 
computers, control programs were 
written in a higher-level language, 
such as BASIC, with assembly-lan- 
guage subroutines for each special- 
ized task. When two tasks were to be 
performed in immediate sequence, 
we either wrote a new routine com- 
bining the two earlier versions or 
made two separate calls to the rou- 
tines from BASIC. Rewriting programs 
requires a great deal of programming 
time, but making repetitive calls from 
BASIC frequently took unacceptably 
long execution times. To eliminate 
both of these problems, we decided 
to develop a means of linking assem- 



bly-language routines together so that 
they could be used in a single CALL 
statement from BASIC. Before we had 
progressed very far. we found that we 
had reinvented the threaded interpre- 
tive language (TIL), this time in a form 
that was interfaced directly to BASIC. 

Threaded Interpretive 
Languages 

TILs consist of a set of "words." 
Primary words, called primitives, con- 
sist of machine-language subroutines. 
More complex words, secondaries, con- 
sist of a sequence of calls to primi- 
tives. Higher-level words may call 
primitives or previously defined sec- 
ondaries in any order. They consist 
simply of a list of calls to starting ad- 
dresses of the words. Program execu- 
tion is rapid because all the primitives 
are run in machine language and the 
only extra time is that which is re- 
quired to pass parameters to each 
routine and to proceed from one 
routine to the next. 

A TIL has two distinct functions, com- 
piling and running. Compiling consists 
of creating the lists of tasks to be per- 
formed in sequence and placing the 
necessary parameters in a place 
where the primitives can obtain them. 
Running consists of carrying out the 
tasks in sequence. The major dif- 
ference between types of threaded in- 
terpretive languages is the way the 
program passes from one routine to 
the next by a process called thread- 
ing (see reference 1). We use the tech- 
nique called subroutine threading. 
When running, the program simply 
makes a subroutine call to each word 
in sequence. Every word, both 
primary and secondary, ends with a 
return (RET) instruction. Since the se- 



quence of routines in our application 
is initially called from BASIC, the final 
RET statement in the list returns pro- 
gram control to BASIC. 

It might be asked why we do not use 
one of the existing TILs. The principal 
reason is that we require a more in- 
teractive control language in the 
laboratory, where every possible turn 
of events cannot be anticipated when 
a program is written. Another reason 
is that we find looping and conditional 
branching restrictive and difficult to 
use in other TILs. Finally, other higher- 
level languages contain commands 
that are convenient for performing 
routine tasks but are not readily avail- 
able in most TILs. 

BASIC 

BASIC was developed as a language 
for beginners. In fact, most people can 
learn to write programs in BASIC 
within a few hours. This is an advan- 
tage in a university laboratory popu- 
lated partially by students, where in- 
experience is common and personnel 
turnover is high. It is not, however, the 
major reason for using BASIC as the 
principal language in the laboratory. 
Its major virtue in this setting is a char- 
acteristic that might usually be con- 
sidered a drawback, namely, that it is 

[continued) 
When Sam Fenster isn't working as a com- 
puter programmer at the University of 
Chicago, he is a sophomore majoring in math- 
ematics and computer science at Columbia 
University. Lincoln E. Ford is associate pro- 
fessor of Medicine and Cardiology at the 
University of Chicago. 

You can write to the authors at the Univer- 
sity of Chicago, Section of Cardiology, Depart- 
ment of Medicine, Hospital Box 249, 950 
East 59th St., Chicago, IL 60637. 



JUNE 1985 'BYTE 



147 



SALT 



BASIC has become 
the standard language 
of many small 
computers, and thus 
is constantly 
being improved. 



an interpretive language. This means 
that every command in a program is 
translated to machine language im- 
mediately before it is carried out. The 
need for separately interpreting each 
command slows program execution 
greatly but it also makes the pro- 
grams highly interactive. That is, a pro- 
gram can be stopped at any point and 
the operator will know precisely 
where he is because his original pro- 
gram is unaltered. 

Once a BASIC program has been in- 
terrupted, the computer can be run 
in immediate mode. The operator can 
instruct the computer to carry out 
commands one at a time. In this man- 
ner, it is possible for the operator to 
determine the value of a variable, 
change a variable, or even change the 
path of program flow. The ability to 
interrupt a computer that is interfaced 
to laboratory apparatus is invaluable 
when the operation of the apparatus 
is not entirely predictable, as is often 
the case. 

A final advantage of BASIC is that 
it has become the standard language 
of many small computers, including 
the IBM Personal Computer (PC). As 
a result, it is constantly being im- 
proved and has many useful features. 

One disadvantage of some forms of 
BASIC is their limited memory capa- 
bility. The version used on the IBM PC 
can address only 64K bytes. Although 
this is sufficient space for most pro- 
grams, laboratory apparatus can fre- 
quently generate enough data to 
make this space seem cramped. Sub- 
sequent analysis can usually reduce 
the data to a more manageable size, 



but it is necessary to find some way 
to hold the data without severely 
limiting the program area. To this end 
we have designed SALT to store raw 
data in areas of "high" memory above 
the BASIC space. An entire block of 
data can be transferred between this 
space and disk. Portions of the data 
in a block can also be transferred be- 
tween high memory and BASIC arrays. 
This ability to move large amounts of 
data between high memory and disk 
and to operate on smaller parts of it 
in BASIC arrays provides a type of vir- 
tual memory, greatly expanding the 
capability of BASIC. 

The major disadvantage of BASIC is 
its slowness. While running programs 
in an interpretive language, the com- 
puter cannot respond fast enough for 
many laboratory applications. To over- 
come this slowness, machine-lan- 
guage subroutines control the com- 
puter when it is interacting with the 
laboratory apparatus. A difficulty with 
using simple subroutines occurs when 
two or more of them are to be run in 
sequence. Program control returns to 
BASIC after each subroutine call. This 
return costs valuable time, and more 
importantly, the time required may be 
somewhat unpredictable, especially 
when parameters must be passed 
from BASIC to the subroutines. For 
time-critical operations in which sub- 
routines are to be run sequentially, it 
was previously necessary to write ad- 
ditional subroutines, combining earlier 
ones in the proper sequence. As the 
number of computer applications in 
the laboratory increased, the con- 
tinued rewriting of subroutine se- 
quences became costly, lb overcome 
this difficulty, we have developed a 
method of calling subroutines from a 
master machine-language routine, 
with one CALL statement from BASIC. 

SALT 

SALT is a laboratory TIL. As with all 
TILs, SALT'S two distinct functions are 
compiling and running. All compila- 
tion is performed by a single assem- 
bly-language routine called from 
BASIC. This routine, named LOADER, 
creates secondary machine-language 
words that are subsequently called 



from BASIC. A secondary word con- 
sists of a sequence of CALL instruc- 
tions, each followed by the starting 
address of the routine being called 
and any necessary parameters. Thus, 
a call from BASIC to a secondary 
word initiates a second call to the first 
word in a sequence. The final instruc- 
tion in a list is RET, bringing the pro- 
gram back to BASIC. It is not possible 
to call any of the primitive subroutines 
directly from BASIC. The LOADER 
routine must first translate the name 
of the routine to its starting address 
and create a secondary word consist- 
ing of a machine-language CALL in- 
struction followed by all necessary 
parameters and RET at the end. 

The secondary words in a program 
are recompiled each time the pro- 
gram is run. Thus, programs in SALT 
are actually created and stored from 
within BASIC programs. It is not pos- 
sible with SALT and probably not 
desirable in general, to create secon- 
dary words that retain their identity 
outside the individual program. To 
use SALT a programmer must be 
familiar only with the general re- 
quirements of the assembly-language 
routines he wishes to run and with the 
requirements of the LOADER com- 
mand. He need not know about any 
previously written programs or about 
the specifics of the assembly-lan- 
guage programs. [Editor's note: See the 
end of the article for details on obtaining copies 
of the SALT software package] 

At present, we have more than 100 
separate assembly-language primi- 
tives. These are grouped into func- 
tional categories described in detail 
below. 

Hardware 

The software described here was writ- 
ten specifically for an IBM PC 
equipped with a Tecmar Lab Master 
board, 512K bytes of memory, and 
two floppy-disk drives. It was devel- 
oped out of a need for an easy and 
efficient way to make use of the Lab 
Master. The general principles can, 
however, be applied to any similar 
computer system. Almost all labora- 
tory applications can be described as 

{continued} 



148 B YTE • IUNE 1985 



Inquiry 386 — * 



4* 



7 a&ecy 







*K 



Statistics, reports and plots 
happen magically with 
SPSS/PC -the Statistical 
Package for IBM PC/XTs * 

SPSS/PC is the most comprehensive 
statistical package for performing 
simple or complex tasks, regardless of 
data size. It maintains feature and 
language compatibility with mainframe 
SPSS; while optimizing for the PC 
environment. 

Statistics range from simple 
descriptive to complex multivariate, 
including Multiple Regression, ANOVA, 
Factor and Cluster analysis. Loglinear 
and nonparametric procedures 
are also included. 

Simple facilities allow 
transfer of files between 




SPSS/PC and programs like Lotus 1-2-3, 
dBase II and SAS. A complete Report 
Writer, Plotting facilities and a Communi- 
cations program for mainframes round 
out a fully integrated product. 

For more information, contact our 
Marketing Department without further 
ado. And see what a little stat magic can 
do for you. 

SPSS Inc., 444 N. Michigan Avenue, 
Chicago, IL 60611, 312/329-3500. 

In Europe: SPSS Benelux B.V., 
P.O. Box 115, 4200 AC Gorinchem, 
The Netherlands, Phone: +31183036711 
TWX: 21019. 

VISA, MasterCard and 
American Express 
accepted. 





PRODUCTIVITY RAISED TO THE HIGHEST POWER" 

* SPSS /PC runs on the IBM PC/XT or AT with 320K memory and a hard disk. An 8087 co-processor is recommended. Contact SPSS inc. for other compatible computers. 
IBM PC/XT and AT are trademarks of International Business Machines Corporation. dBase II is a trademark of AshtonTate. 1-2-3 is a trademark of Lotus Development Corporation. 
SAS fs a registered trademark of SAS Institute, Inc. SPSS and SPSS/PC are trademarks of SPSS Inc. for its proprietary computer software. c Copyright 1985, SPSS Inc. 



SALT 



a combination of the following func- 
tions: control of experiments, in- 
cluding timing and synchronization of 
external events, and setting external 
voltages; data acquisition, usually 
through the digital conversion of elec- 
trical analog signals; data storage; and 
data analysis. All of these functions 
can be implemented with the hard- 
ware and programs described here, 
except that the topics to be described 
under the heading of data analysis are 
limited to a few routines for simple 
arithmetic procedures and display 
that might be used as part of more 
sophisticated analyses. 

The Lab Master board has four dis- 
crete functions required for laboratory 
application: an analog-to-digital (A/D) 
converter with 16 channels of input; 
two digital-to-analog (D/A) converters; 
a 24-channel digital input/output (I/O) 
device; and a chip with five program- 
mable counters and an internal I -MHz 
clock, whose basic frequency can be 
divided either by powers of 10 or 
powers of 16. Most of the software 
routines that we will describe are 
directed at implementing the four 
functions of the board. The remainder 
are used for performing simple arith- 
metic operations on blocks of num- 



bers and for moving blocks of data 
between storage areas. 

Details of Operation 

SALT consists of a single compiling 
routine, LOADER, and a large number 
of small subroutines that perform 
very specific operations during pro- 
gram execution. The small subrou- 
tines are no different from any other 
type of assembly-language routine ex- 
cept that many are designed to be 
used in sets. For example, one subrou- 
tine may set up a counter for timing 
operation and another may be re- 
quired to start the actual timing. The 
aspect of SALT that makes it unique 
is the LOADER routine that estab- 
lishes the secondary words that are 
called from BASIC. 

Loader 

The LOADER routine that compiles 
the secondary words converts all 
other subroutine names to addresses, 
eliminating the time required to look 
up addresses during execution. It then 
uses the addresses in a sequence 
where each one is the operand of a 
CALL, which is followed by any 
necessary parameters. A RET is 
placed at the end of the sequence, 



and the starting address of the entire 
sequence in memory is placed in a 
table. The use of memory by the 
LOADER routines, as well as the 
memory allocation for SALT and the 
A/D data operation, is shown in figure 
I. As illustrated, separate memory 
areas are reserved for secondary 
routines and for their addresses when 
SALT is loaded into memory The 
LOADER routine fills these areas as 
it compiles secondary words. In the 
present version of SALT those re- 
served areas are relatively small 
because there is no need in our ap- 
plication to have them any larger. In 
principle, the only limitation to the 
size of these areas is the amount of 
available memory. 

The parameters passed to the rou- 
tine can be of three types: fixed in- 
teger values placed after the routine 
call; positions of binary bits to be set 
in a byte that is then placed after the 
routine call; and BASIC integer vari- 
ables whose addresses are stored 
after the call. The following example 
illustrates the operation of LOADER. 

In this example, a word called DR. 2 
(driver routine number 2) will first con- 
figure the'24 I/O lines into three 8-bit 

[continued] 

















• • UNUSED • • 


INSTALL 
SALT 

► 


primitive routines 
(9K bytes) 


CALL 

LOADER 

(DR.n,...) 

► 


Y//////A 


ADSET 

OR 

ALOAD 


y////////, 


table of primitive 
addresses 


w//////, 


///////// 


1024 bytes reserved 


secondary words 


///;////; 


LOADER 
(3K bytes) 


'////////, 


■>////////, 


200 bytes reserved 


table of secondary 
addresses 


v//////// 








channel 15 

channel 14 

channel 13 

A/D DATA SPACE 


programs and variables 

BASIC 

interpreter 


Y//////Y 


V//////6 


V//////A 


PC-DOS 


/////////. 


'////////. 


///////// 


interrupts 


'////////, 


'////////, 


'////////, 

















Figure I: Installing SALT with a BASIC BLOAD instruction 
puts the primitives and LOADER routines at the high end of 
memory and reserves space for the compiled secondary words and 
for a table of addresses of the secondary words. A CALL to 



LOADER creates a secondary word and places the starting 
address of the word in a table. The ADSET or ADLOAD 
routines allocate data space in memory immediately above 
BASIC. The data space is arranged into equal-size channels. 



150 BYTE • JUNE 1985 



The most 

BASIC 



Microsoft® BASIC is the language 
spoken by nine out of ten microcom- 
puters worldwide. It's the language 
with the most programs written for it. 

So if you want to access the 
power of your Macintosh" only 
one language makes the most 
sense. Mac's first language, 
Microsoft BASIC. 

Not only is it the industry 
standard, it's the most advanced 
BASIC for Macintosh. It lets 
you add mouse commands. 
Graphics. Windows. Change 
type fonts and styles. Customize 
menus. Incorporate music and 
sound effects. Write your own 
dialog boxes. Basically, it lets 
you take advantage of everything^ 
that makes Mac 'Mac' 

It makes editing programs as easy 
as cutting and pasting and pointing 
and clicking. Debugging is easier 



than ever with the advanced 
trace command. 

It's no wonder Microsoft is the most 
logical choice for the Macintosh. 





MICROSOFT. Weve 

The High Performance Software WHtten more 

Macintosh programs than any other 
software company. Including Mac's 
spreadsheet, Multiplan® 

So if you want to get the most 
out of your Macintosh, call (800) 
426-9400 for the name of your nearest 
Microsoft dealer. In Washington State, 
Alaska, Hawaii and Canada, call (206) 
828-8088. 

Microsoft and Multiplnn arc registered trademarks of Microsoft Corporation. 
Macintosh is a trademark licensed to Apple Computer, Inc. 



SALT 



ports such that the first (A) port is in- 
put and the remaining two (B and C) 
are output. Second, DR. 2 initializes 
counter number 1 to count 20 milli- 
seconds. Finally, DR. 2 stops the 
counter at its initialized value to wait 
for the command START to begin 
counting. The BASIC command to 
perform this sequence is 

CALL LOADER (DR.2JOSET1.0.0, 
TIME.1.20.3, STOR1). 

LOADER would then create a secon- 
dary word in memory consisting of 
the following sequence: 

CALL 1003 

1 




CALL 1097 

1 
20 

3 
CALL 2034 

1 
RET 

The starting address of this se- 
quence would be placed in the sec- 
ond position of the driver table, a posi- 
tion reserved, specifically for the ad- 
dress of the secondary word called 
DR. 2. The value 1003 is the starting 
address of the IOSET primitive that 
initializes the I/O ports, and the pa- 
rameters 1.0.0. specify the desired 
configuration. The value 1097 is the 
starting address of TIME, the routine 
that sets a counter to count from the 
Tecmar clock. The parameter 1 spec- 
ifies the first counter, and the 
parameter 20 gives the number of 
pulses to count. The parameter 3 
specifies the millisecond rate. The 
STOP routine, which begins at ad- 
dress 2034, holds counter number 1 
at its pre-set count until a START.1 
command begins the count. 

Once the initialization is complete, 
another secondary word can use 
parts of the Lab Master board for 
other purposes. For example, a word 
called DR. 3 can be written to: wait for 
I/O line A2 to go high; read a voltage 
value on A/D channel 10; put the 
same voltage on D/A channel 1 ; wait 



Tcible 1: Functional categories 
of SALT'S primitive subroutines. 

File and data management 

Timing 

Analog-to-digital conversion 

Digital-to-analog conversion 

Digital input/output 

Arithmetic procedures 

Miscellaneous routines 



20 milliseconds using counter number 
1. which was initialized by DR. 2; and 
set I/O channels B2 and B7 high. The 
BASIC command to create this se- 
quence would be 

CALL LOADER 

(DR.3, RHA.2, VAD.10, DVOLT, 

VDAV.1, DVOLT, START.1, WAIT1, 

WHB.2.7) 

The two secondary words DR. 2 and 
DR.3 can be called from BASIC 
separately, or another secondary 
word can be written to call them in se- 
quence with a single call. This latter 
option would be compiled with the 
command CALL LOADER (DR.4, 
CDR.2, CDR.3), which would use the 
addresses in positions 2 and 3 of the 
driver table to create the assembly- 
language sequence 

CALL 812 
CALL 871 
RET 

CALL DR.4 is the BASIC command 
that would execute the entire se- 
quence of tasks before returning to 
BASIC. 

The LOADER command has very 
specific requirements, some of which 
have been imposed for ease of the ini- 
tial programming, some of which have 
been created for ease of subsequent 
programming, and some of which 
have been imposed by the idiosyn- 
crasies of IBM BASIC. For example, all 
of the secondary words are called 
DR. N where N is an integer between 
and 100, and the commands DE- 
FINT D and LOADER = 3 must 
precede the first call to LOADER in 
the BASIC program. The starting ad- 
dress of the LOADER routine is 3. The 



necessity for using the DEFINT D 
statement has been imposed to 
eliminate the need for typing the "%" 
character following each DR definition 
and each BASIC integer variable pa- 
rameter, such as DVOLT. The term DR 
is always used to name the secondary 
words so that the LOADER program 
can find the beginning of the param- 
eter list following the words CALL 
LOADER. A CALL statement from 
BASIC pushes the entire parameter 
list in the statement onto the stack. 
The LOADER routine examines the 
stack to find the first variable, which 
always begins with DR. Once this is 
found, the integer following DR. is 
used to identify the secondary word. 

Primitive Subroutines 

The individual primitive can be 
grouped under the separate func- 
tional categories listed in table I. They 
are described below in detail by 
category. The listings of the individual 
routines are not given here because 
they require too much space and 
because they are, for the most part, 
specific to the Lab Master board. 

When these routines were devel- 
oped, the highest priority was given 
to speed, because they were de- 
signed to be used in real-time applica- 
tions. To achieve this speed, the rou- 
tines were made as simple as pos- 
sible. The number of Test and Condi- 
tional Jump instructions was kept to 
a minimum because they take a 
moderate amount of program execu- 
tion time. The desired simplicity was 
achieved at the expense of some 
redundancy in the program. For ex- 
ample, there are nine separate rou- 
tines to write nonvariable data to the 
three digital I/O ports. These nine 
routines differ from each other in on- 
ly two characteristics, the I/O port to 
be written to, and the type of output, 
i.e., whether the specified channels 
are to be made high, made low, or to 
toggle (change from the previous 
value). Since there are three alter- 
natives for each of the three channels, 
there are nine combinations. Each of 
the routines is short (about 18 bytes), 
so that the memory required for nine 

[continued) 



152 B YTE • JUNE 1985 



^ 



rf 



& 



lassie COBOL 



True mainframe COBOL for 
your microcomputer. Validated by 
the GSA at the highest possible 
level of compliance with the 
ANSI 74 standard. With Microsoft® 
COBOL, mainframe programmers 
can be productive on MS-DOS™ 
and Microsoft XENIX® micro- 
computers immediately. 

Speed and Beauty* 

High performance in a COBOL 
program comes mostly from the 
speed of the ISAM. And Microsoft 
COBOL 2.0 has the fastest ISAM 
on the market. 

And our advanced screen 
handling capability lets you create 
the highly interactive programs that 
end users prefer. 

Wfe wrote the book* 

It's no surprise that IBM? DEC? 
AT&T, H-P and Wang® all chose 
Microsoft COBOL for their 
MS-DOS machines. We know how 
to get the most out of their micro- 
computers. After all, we designed the 
operating system. 



So call (800) 426-9400. In 
Washington State, Alaska, Hawaii 
and Canada, call MICROSOFT 

(206) 828-8080. The High Performance Software* 

We'll give you the name of your 
nearest Microsoft dealer or help you 
update to Microsoft COBOL 2.0. 



Certified High Level Compiler: 

♦ GSA validation at the Federal High Level of 
compliance with the ANSI 74 standard. 

♦ Built in sort-merge, chaining, dynamic calling, 
and overlays. 

Fast multi-key ISAM: 

♦ Split-keys and duplicate keys. 

♦ Benchmark results of 5000 reads and writes to 
an ISAM file: 

Microsoft Realia MicroFocus® Ryan-McFarland® 
COBOL 2,0 COBOL Native Code COBOL 2,0 

!££. 1:32 1:56 2:58 3:30 

Interactive extended screen section: 

♦ Cursor positioning, auto skip, automatic data field 
formatting. 

♦ ACCEPT and DISPLAY data by the screen full. 
Productivity utilities: 

♦ Interactive Symbolic Debugger. 

♦ Rebuild file recovery utility restores corrupted 
ISAM files. 

Price: 

♦ $700 for compiler and utilities. 

♦ No runtime royalty fees. 
Minimum System requirements: 

♦ MS-DOS 2.0 or later, 192K RAM, and one disk 
drive. 

♦ Xenix 286, 512K RAM, and one disk drive. 




Microsoft and Xenix are registered trademarks and 

The High Performance Software is a trademark o( 

Microsoft Corporation. IBM is a registered trademark o{ 

International Business Machines. DEC is a registered 

trademark of Digital Equipment Corp. Wang is a registered 

trademark of Wang Laboratories, Inc. MicroFocus is a registered 

trademark o( MicroFocus. Ryan-McFarland is 

a registered trademark of Ryan-McFarland. 



SALT 



separate simple routines is not much 
greater than that for a single routine 
that would accept the I/O port and the 
type of output as parameters. A 
larger, single routine would, however, 
require much more execution time. 
Execution times were measured for 



all the time-critical routines that might 
be used during an experiment. These 
were estimated in two ways. Some ex- 
ecution times were measured from 
failures to make A/D recordings on a 
regular schedule. A ramp voltage was 
put into one channel of the A/D con- 



A. 22^S/CONVERSlON 



-H-h 



1111 



111! 



M il 



-H-h-H^R- 



MM 



MM 



-HHh 



B. 20/xS/CONVERSION 



t 



III! 



MM 



V 



* — 



MM 



V-r 



MM 



?«? 



V--' 



MM 



\.--' 



MM 



\ 



MM 



H-h-h 



Figure 2: A voltage ramp was recorded at two sampling intervals, differing by only 2 
lis. The digitized data was displayed at the same rate for both. Failure to make a con- 
version, indicated by the arrows in B, resulted in a complete sample being missed after 
every 5-8 conversions. The voltage step after a missed sample is twice normal. 



verter, which was programmed to 
make conversions at regular intervals 
that had been established by the fre- 
quency of the internal clock. The in- 
tervals between clock cycles were 
decreased in increments of 1 micro- 
second (fis) until the A/D failed to 
make a conversion. Tb detect a failure, 
the recorded ramp voltage was out- 
put to the oscilloscope using the D/A 
routine. A missed sample was recog- 
nized as a double step between 
voltage levels in the displayed ramp, 
as shown by the arrows in figure 2. 
This method could also be used to 
measure execution times of routines 
by directing the computer to perform 
the routines between sampling 
periods. A second, more straightfor- 
ward method of measuring execution 
times was to use a primitive called 
COUNT that returns the value in the 
buffer of a specified counter without 
influencing the counter's operation. 
By setting the counter to count down 
from a large number at microsecond 
intervals, it was possible to estimate 
execution times with a resolution of 
1 /ts. The COUNT routine took 68 ps 
± I fis each time it was called. The ex- 
ecution time of routines inserted be- 
tween two calls to the COUNT 
routine was therefore calculated by 
subtracting 68 fis from the measured 
interval. 

It might be expected that the execu- 
tion time for a given routine could be 
calculated from the number of clock 
cycles required for each instruction in 
the routine. In general the routine 
took 30 to 50 percent longer than ex- 
pected. A possible explanation for 
these longer times has been given in 
PC TECH JOURNAL (see reference 2). 
Further explanations are beyond the 
scope of this article. In addition, the 
execution times were somewhat vari- 
able. A possible cause of this vari- 
ability in timing arises from memory- 
refresh cycles that occur at unpredict- 
able intervals during program execu- 
tion. This variability may cause a 
routine to take variable periods of 
time, so that variations in execution 
times will not occur regularly or pre- 
dictably. Thus, it was necessary to 

[continued) 



154 B YTE • JUNE 1985 



Ferocious 

FORTRAN. 



Microsoft® FORTRAN crunches 
numbers with a vengeance! 

It combines fast and efficient 
native code compilation with 
built-in 8087 coprocessor support. 
The result? Mini and mainframe 
performance from your MS™ DOS 
micro. 

Based on the 77 standard, 
Microsoft FORTRAN supports 
extensive statements and data 
types— including complex num- 
bers and IEEE single and double- 
precision floating point accuracy. 

Support for large arrays (greater 
than 64K bytes), separate module 

MICROSOFT c °mp ilat i°n, 

The High Performance Software and. OVeriayS, 

allow you to create very large 
programs— up to one megabyte, 
with access to more than 65 
thousand records in a file as large 
as four gigabytes. 

How do programmers feel 
about Microsoft FORTRAN? 

"The first FORTRAN compiler 



that takes advantage of the full 

addressing capability of the 8088 

and the power of the 8087!' 
—Jack Wilschke, Softalk 

"We decided to use the 
Microsoft FORTRAN Compiler 
for its INTEGER 4 capability 
and the flexibility of its 8087 

implementation!' 

—Charlie Huizena <Sl 
Chip Barnaky, PC World 

Call 800426-9400 to order 

the ferocious FORTRAN. 

$350* 

In Washington State, call 206- 
828-8088. Ask for operator A4, 
who will rush you your order, 
send you more information, or 
give you the name of your nearest 
dealer to see Microsoft FORTRAN 
in action. 



*Price exclusive of handling and Washington State sales tax. 
Microsoft is a registered trademark and MS is a trademark of Microsoft Corporation. 




SALT 



measure execution times repetitively 
and to estimate an average and a 
range of speeds. 

File and Data Management 

All data is handled as 2 -byte integer 
samples. A few primitives operate on 
a single number. For example, one 
primitive sets a voltage value on one 
of the D/A channels and another 
records the voltage of a single A/D 
channel. Most data is handled as long 
arrays. Before such data can be 
recorded, a space must be reserved 
for it in high memory using the 
ADSET routine, as shown in figure 1. 
This primitive requires two 
parameters to establish the number 
of channels and the number of sam- 
ples per channel. Once recorded, the 
data can be transferred to disk using 
the SAVEF primitive, which creates a 
disk file using a filename previously 
specified as a BASIC string variable. 



The first 2 bytes in the file are used 
to record the number of samples per 
channel. When a file is read from disk 
using the LOADF primitive, a buffer 
of the correct size is first created in 
high memory, and the data is read 
into it. To use the recorded data in a 
BASIC program, it is necessary to 
move the data from its buffer in high 
memory to a BASIC integer array (e.g., 
DATAARRAY). This is done with the 
FETCH primitive, which requires two 
parameters. The first is an integer that 
designates the channel number, the 
second (e.g., D.N2) is a BASIC variable 
that has been set by the BASIC 
VARPTR function to the starting ad- 
dress of the BASIC array. The BASIC 
instruction 

D.N2 = VARPTR(DATAARRAY(0)) 

should immediately precede a CALL 
to a secondary containing the FETCH 
primitive because BASIC moves its ar- 



rays around unpredictably. The 
number of the first sample to be 
transferred from a channel is placed 
in the zero position of the BASIC ar- 
ray using a BASIC instruction. Sam- 
ples are transferred sequentially until 
the defined array is filled or until the 
end of the channel is reached. In this 
manner, only a portion of a record is 
transferred at one time, so that only 
a small amount of BASIC array space 
need be used. Another instruction 
called STORE performs the inverse of 
FETCH. It transfers data from a BASIC 
array to a previously defined data 
space in high memory. 

TWo additional routines, SAVEF and 
LOADF, transfer arrays of data in high 
memory to and from disk. The ar- 
rangement of data into channels is the 
same as that produced by the ADSET 
routine (see figure 1). 

There is a primitive called SWITCH 
that allows the operator to switch be- 



DISKETTE OPGANIZA 



Media Mate.™ 
The best diskette 
file for the money. 

For organizing, pro- 
tecting and transporting 
your diskettes, the Amaray 
Media Mate is the best 
file you can own. And you 
can buy it for just $15.95* 

The Media Mate is avail- 
able in two sizes, to hold 
up to fifty 5K" diskettes, or 
thirty 3]/ 2 " diskettes. 

*Suggested retail price, Media Mate 5 
Media Mate 3 



AMARAY 

Makers of Media Mate 



156 BYTE • IUNE 1985 




Self-latching cover 



Ridges to keep 
dividers and disks 
in place 



Non-skid feet 



Built-in handle 



SALT 



tween two simultaneously existing 
buffers in high memory. Since each 
buffer can be as large as 64K bytes, 
a total of 128K bytes of high memory 
is available. The combination of 
ADSET, FETCH, STORE, SAVEF. 
LOADF, and SWITCH greatly expand 
the amount of space available to 
BASIC for handling data. Because 
data can be transferred between buf- 
fer and disk and then to and from 
BASIC, the routines provide BASIC 
with a form of virtual memory. 

Timing 

Precise timing is essential in almost 
all laboratory applications. Such tim- 
ing is made available by a 1-MHz 
clock in the timer-counter chip on the 
Lab Master board. The basic frequen- 
cy can be divided either by powers of 
10 or powers of 16. To keep the ap- 
plication simple, we have chosen to 
use only the decimal divisions. The 



divided frequencies are available in 
two forms. They can be divided fur- 
ther by numbers ranging from 1 to 16 
and made available externally as an 
Tout" square wave. We have not yet 
found this provision useful and in- 
stead have chosen to perform timing 
using one of the five counters in the 
chip. There were two reasons for this 
decision: The F-out pulse is not avail- 
able internally to software, and more 
importantly, it cannot be synchron- 
ized to external events. The 1-MHz 
clock and its dividers operate con- 
tinuously so that they cannot be syn- 
chronized at all. The counter can, 
however, be made to begin counting 
in synchronization with an externally 
applied signal. By counting a large 
number of high-frequency pulses, it is 
possible to synchronize the counters 
to within the limits of the basic fre- 
quency. Since the counters can count 
to two pulses, it is possible, in princi- 



ple, to achieve l-/*s accuracy of syn- 
chronization. In practice, the accuracy 
is limited to 3 f.is because about 3 out 
of every 15 /as (14 out of every 72 
central-processor clock cycles) are 
used by the computer for memory 
refresh, and it is not possible to con- 
trol when the 3-/*s interruptions will 
occur. 

The counters on the Lab Master 
board are complex and have 18 dif- 
ferent modes of operation. Despite 
this complexity, the chip containing 
the five counters, the 1-MHz frequen- 
cy generator, and the frequency 
divider is controlled using two 1-byte 
ports. While it would be possible to 
initialize the counters directly from 
BASIC by sending data to the two 
control bytes, the complexity of the 
timers makes it much easier to use 
separate subroutines to establish 
each of the modes of operation. 

[continued) 



HON FROM AMARAY 



DiskBank.® 
Organization as 
you need it 

Whether you have 10 
diskettes— or 210— you can 
organize them, and keep 
them organized, with the 
Amaray DiskBank. It 
changes and grows right 
along with your needs. 

The DiskBank is available 
for 8," 5 V and 3 1 / 2 " diskettes! 

Ask for the Amaray 
Media Mate or DiskBank 
wherever computers 
and computer products 
are sold. Or call 800- 
4-AMARAY for the dealer 
nearest you. Amaray 
International Corporation, 
14935 N.E. 95th Street, 
Redmond, WA 98052. 

*Suggested retail price, System 5- $29.95; System 3 -$15. 95 



Single module fits in a briefcase. 



Modules stack and 
interlockto create an 
expandable library system. 




Adjustable file doors 

hold disks in place 

whether DiskBank is placed vertically or horizontally. 



AMARAY 

Makers of DiskBank 



Inquiry 22 



IUNE 1985 -BYTE 157 



SALT 



The complexity of the counters 
arises from the combinations of avail- 
able functions. Each counter can 
count either internal pulses or exter- 
nal pulses, each can count repetitive- 
ly or give a single count, and each 
counter can be gated either internal- 
ly or externally. Finally, each counter 
has two 16-bit registers from which it 



obtains its count. 

In our application the counters are 
used for two main purposes. The first 
is the timing of D/A and A/D conver- 
sion. Since conversions are usually 
made at regular intervals, the counters 
are usually set to run continuously In 
most cases, the duration of the pulses 
is not critical because the digital con- 



liSg* cr- err* it\m 
Aim! yo/ncu^<yrw & [ *-i 



Social Inwtations tLYHphClSlS 

\ l\\ J I -I r-f I r J I ^ 



* 



Qj 



l^SFancyFont t 
g C I ea n u,uL^ii^ SDdlPlJTE 

Dot Matrix Made Beautiful 

All the type in this ad was printed on an inexpensive dot matrix 
printer with Fancy Font, the program that works with almost any word 
processor to produce high resolution, proportionally spaced, letter 
quality printing. 

No special hardware or installation is required, so you'll be using 
Fancy Font as soon as you get it. 

Fonts, including Roman, Sans Serif, Bold, Italic, rfc^d, (©16 tEnglislf 
and more, from 8 to 24 points come standard with Fancy Font. 

FLEXIBLE. Fancy Font comes with a complete set of over 1500 
mathematical, foreign language and other special symbols. 

Hundreds of additional fonts in sizes from 6 to 72 points are 
available, at a nominal additional charge, from our growing font library. 

You can edit any character and also create your own characters or 
logos, up to 1 inch by 1 inch. 

Powerful formatting features let you center, justify, wordwrap and 
type flush left or right, with or without running headers and footers — 
even with different fonts and sizes on the same line. 

COST EFFECTIVE. You buy Fancy Font from your local dealer or 
direct from us, the software developers, for only $180. 

You get near typeset quality at a small fraction of the time and cost 
of using art or typesetting services. 

Fancy Font runs on PCDOS, MSDOS and CP/M systems with Epson, 
Toshiba and compatible dot matrix printers. 

You'll be turning out great looking reports, newsletters, presentations, 
letters, mathematical texts, overheads or invitations after getting your 
copy of Fancy Font. The applications are limited only by your 
imagination. 

Call or write now to order Fancy Font or ask for additional 
information including actual samples and independent reviews. 

CALL TODAY 1-800-351-0500 M«terCharge and Visa Accepted 

Sq/£Craft, Inc. 

222 State Street, Madison, WI 53703 (608) 257-3300 

3\vnaj <3£nt is a registered trademark of SoftCraft, Inc. 



versions are triggered on the chang- 
ing edge of the counter pulses, so that 
only one of the two counter registers 
is used at one time to generate the 
correct frequency. In one application, 
the counter pulses are also applied to 
sample-and-hold circuits used to syn- 
chronize the conversion. In this case 
the pulses from the counter must be 
sufficiently long to hold all the exter- 
nal circuits in the hold mode until the 
analog values are converted. Both 
counter registers are used, one to 
establish the frequency and the other 
to set the pulse duration. In another 
application, the two counter registers 
are used to establish two separate fre- 
quencies. Switching between the two 
frequencies is accomplished with 
gating pulses applied externally. The 
use of these gates eliminates the need 
for reprogramming the counters and 
thereby hastens program execution. 
The second application of the 
counters is to control external events 
by providing pulses of specified dura- 
tion at specified times. The counter 
registers are used to establish pulse 
duration as well as the delay between 
some initiating event and the onset of 
the pulse. The counters can be very 
useful for this purpose because they 
operate independently of the com- 
puter's central processing unit once 
they have been started. This indepen- 
dent operation speeds program ex- 
ecution greatly. 

A/D Conversion 

The simplest A/D primitives convert 
a single analog voltage value on one 
A/D channel and place the digitized 
integer value in the BASIC variable 
space. All the other A/D primitives 
make sequential conversions at a fre- 
quency determined by a counter on 
the timer chip. The principal need for 
speed in laboratory applications is in 
the rapid accumulation of digitized 
data from electrical analog signals. 
There are four separate routines for 
this purpose and each has separate 
advantages with respect to simplici- 
ty, speed, and synchronization. All of 
the routines have been written in a 
way that makes it possible to interrupt 

(continued) 



158 B YTE • JUNE 1985 



from Microcomputer Accessories, Inc. 

LOCK & ROLL 




CRT/Terminal Valet 



It's here to stay. Our Rolltop 100 
Disk File® with optional lock, 
holds 120.5V4" diskettes (twice the 
capacity of ''flip top" files), in ten 
sections, with color coded divider 
labels. Anti-skid feet. Textured 
buff plastic body with your choice 
of bronze baked enamel or walnut 
rolltop. Also available in black 
with silver mylar rolltop. And y/i" 
microdiskette and 8" disk models. 
They're all lock & roll to you. 



ij:_-_! 



5721 Buckingham Parkway 
P.O. Box 3725 

Culver City, California 90231 
Telephone 2 13/641-1800 

In Europe: 

N.V. Microcomputer Accessories Europe S.A. 

Rue de Florence 37 

1050 Bruxelles, Belgique 

Telephone 02/538.61.73 

These and other fine products are available at 
Computerland, Businessland, IBM Product 
Centers and other computer/software retail 

locations. Inquiry 438 for End-Users. 

Inquiry 439 for DEALERS ONLY. 




Keyboard Storage Drawer 






SALT 



The two main uses 
for digital-to-analog 
conversion in 
the laboratory 
are setting 
control voltage and 
displaying data. 



recording to perform some task, such 
as changing the speed of recording or 
outputting a control pulse. This latter 
provision makes it possible to exert 
a great deal of control over the exper- 
iments while collecting data. 

All of the sequential A/D routines 
require that a buffer for the digitized 
data be established in high memory 
above the BASIC program area. This 
is done with the ADSET primitive de- 
scribed above. If recording is stopped 
before the buffer is full, data will be 
placed in the next available space 
when recording resumes. It is also 
possible to establish two buffers in 
the present version of SALT. This pro- 
vision permits data to be collected 
from a different number of channels 
at different times. It also makes it 
possible to transfer data from one 
buffer to another while performing 
mathematical manipulations, without 
destroying the original data. 

The simplest sequential A/D primi- 
tive, AD1E, makes a single conversion 
from one channel on every clock 
pulse and the digitized data is sent se- 
quentially to memory This is the 
fastest form of operation because the 
assembly-language instruction that 
sends the data to memory increments 
automatically and there is no need to 
keep track of the memory location. 
The AD1 E routine was used to collect 
the data in figure 2. The minimum 
safe time between conversions is 
2 2 fxs. Timing is accomplished by wir- 
ing the external output of a frequen- 
cy generator to the external start in- 



put of the A/D converter. This mode 
of operation is used because it pro- 
vides the most accurate timing; each 
conversion is initiated on a counter 
pulse without any program interven- 
tion. 

The three other sequential A/D 
primitives collect data from multiple 
channels in sequential order. The Lab 
Master board has a provision that 
automatically increments the channel 
number, beginning with a channel 
that is specified by software and end- 
ing with a channel that is specified by 
switches on the board. We keep our 
switches set at the highest channel 
number to be able to use all 16 chan- 
nels on the board. The simplest of 
these multichannel primitives, ADQE, 
sends data to memory as it is col- 
lected, so that the first sample of 
channel I is followed by a first sam- 
ple of channel 2, and so on. At the 
end of the period of recording, a 
routine called SORT orders the data 
by channels so that the first sample 
of channel I is followed by the sec- 
ond sample of channel I and the last 
sample of channel I is followed by the 
first sample of channel 2, etc. Data ac- 
quisition with this routine is as fast as 
AD1E (22 ^s per conversion) because 
the channel number is incremented 
automatically, without program inter- 
vention, and because the routines for 
memory storage are the same. 

The remaining A/D primitives order 
the data as it is collected, sending 
data from each channel to its proper 
place in memory. Even though the 
auto-increment mode is used, the pro- 
gram must keep track of which chan- 
nel is being converted because the 
data must be sent to the correct chan- 
nel block within the buffer. Thus, the 
program must use two counter regis- 
ters, one for the channel number and 
one for the sample number. The need 
for two counters, as well as the addi- 
tional programming required to con- 
tinuously redirect data to different 
parts of the memory slows program 
execution substantially The minimum 
interval between conversions ranges 
from 40 /xs for 16 channels to 48 /xs 
for two channels. The main advantage 
of these routines over ADQE is that 



the data need not be reordered after 
recording, so that a second buffer is 
not needed. For many applications 
this routine is more satisfactory 
because it is simpler. 

The multichannel A/D primitives 
described above collect data from the 
different channels at regular intervals 
so that the first sample of channel 2 
is collected later than the first sample 
of channel I, and the first sample of 
channel 3 is collected later than the 
first sample of channel 2, etc. This is 
not a major disadvantage because the 
values in any channel at any given 
time can be estimated by interpola- 
tion. The final A/D primitive, AD, is 
designed to make nearly simulta- 
neous conversions from all channels. 
With this primitive, each round of con- 
versions is initiated on a single clock 
pulse and all samples are converted 
as rapidly as the software will allow, 
thereby minimizing the intervals be- 
tween samples taken from different 
channels. The interval between 
samples is not critical because the 
routine is designed to be used with 
external sample-and-hold circuits. This 
routine uses a "software start" to ini- 
tiate each A/D conversion and instead 
of detecting an 'A/D done" flag, it 
detects the presence of a pulse on the 
counter output to start the round of 
conversions. The same pulse is also 
output externally to trigger sample- 
and-hold circuits for each channel. 
Synchronization occurs because the 
sample-and-hold circuits are triggered 
to hold their values on the rising edge 
of the pulse. 

D/A Conversion 

The two main uses for D/A conversion 
in the laboratory are setting control 
voltage and displaying data. Control 
voltages are set using one of three 
routines, which differ according to the 
type of parameter they take. 

Data is displayed on an oscillo- 
scope, as in figure 2, using sequential 
D/A primitives. There are 2 D/A chan- 
nels and there are 16 A/D channels, 
so it is necessary to specify which 
channels are to be displayed. In ad- 
dition, it is necessary to specify the 

[continued) 



160 B YTE • JUNE 1985 



GREAT PARTNERSHIPS ■ SERIES I NO. 1 




Most people are satisfied doing one 
thing well. Not Dick Bard. He inns a 
successful construction company and 
a successful software design firm. 
Fortunately, he has a very hard- 
working partner: KnowledgeMan! M 

"It's a terrific all-purpose tool for 
designing easy-to-use programs" says 
Bard, who uses KnowledgeMan to 
write software for everything from home 
building to hospitals. "You can design 
beautiful, user friendly screens; pro- 
grams that are very simple to follow. 
And they're a pleasure to write. 

"KnowledgeMan puts very few 
restrictions on the programmer. You 
don't have to stop and ask yourself, 'Will 
the system let me do this? Will it let me 
open as many tables as I want? Will it 
let me bring in an array if I need it?'It 
lets you create them on the fly. It's 
wonderful. 

"I considered Lotus™ and Frame- 
work!" KnowledgeMan is more logical— 
far more powerful, too. And it thinks the 
way I do." 

If you're interested in forming a great 
partnership with KnowledgeMan, con- 
tact Micro Data Base Systems, Inc. P.O. 
Box 248, Lafayette, IN 47902 
(317)463-2581. 

A variety of KnowledgeMan options, including 
K-Text, 1 " K-Graph"*and K-Paint^ y areavailablefrom 
MDBS. 

Current version is 1.07 as of 9/10/84. Operating 
Systems: PC DOS. MSD0S.CP/M-86. Minimum 
UAM required is 256K. 

Lotus is a tii Qentark of Lotus Development Corpora- 
tion. Framework is a trademark of Ashton-Tate. 



9 



M 



r 



KNOWLEDGE 

man 



The Knowledge Management Software 
from MDBS* 



Inquiry 275 



A printer should complement your computer, 

not compromise it. 




i ■ -1 


CS^^^B 


8^ ^ 










^%^cowr^^. ■ 


^ 


■g0V 





It's a simple fact that your small computer can compute a 
lot faster than your printer can print. A problem that be- 
comes even more frustrating in business, when your com- 
puter is tied up with your printer while you're ready to move 
on to other work. 

Of course, the only thing more frustrating than waiting 
on a slow printer is waiting on a printer that's down. Unfor- 
tunately, chances are the initial printer you purchased with 
your computer system just isn't designed to work on con- 
tinuous cycle high volume printing. 

More than likely, you've already experienced one, if not 
both of these frustrations. But now, you can turn printer 
frustration into printing satisfaction with the new Genicom 
3014, 3024, 3304 or 3404. Professional printers for per- 
sonal computers. ..price/performance matched for small 
business systems. 

Designed and built to increase productivity and maxi- 
mize the value of your personal computer; the range of 3000 
PC printers offers 160-400 cps draft, 80-200 cps memo, 
and 32-100 cps NLQ printing. ..performance for both 
high productivity and high quality printing. 

The 3014/3024 models print 
132 columns. The 3304 and 3404 



162 BYTE • IUNE 1985 



GENICOM 

The New Printer Company. 

For the solution to your printing needs call 

TOLL FREE 1-800-437-7468 

In Virginia, call 1-703-949-1170. 

Epson MX with GRAFTRAX-PLUS is a trademark of Epson America, Inc. 
Okidata Microline 64 Step 2 is a trademark of Okidata Corporation 



models give you a full 136 column width, and offer color 
printing as well. 

Each printer is easy to use, lightweight, functionally 
styled and attractive. And you can choose options from 
pedestals and paper racks to document inserters, sheet 
feeders and 8K character buffer expansion, plus more. 

Genicom 3000 PC printers feature switch selectable 
hardware, dual connectors and dual parallel or serial inter- 
faces. Plus the 3014 and 3024 emulate popular protocols 
for both Epson MX with GRAFTRAX-PLUS™ and Okidata 
Microline 84 Step 2™ while the 3304 and 3404 emulate 
popular protocols for Epson MX with GRAFTRAX-PLUS™ 
So your current system is most likely already capable 
of working with these Genicom printers without modi- 
fication. 

Most important, the Genicom 3000 PC printers are 
quality-built, highly durable printers designed for rapid, 
continuous duty cycle printing. 

So why wait? And wait. And wait. Get a Genicom 3000 
PC printer now. 

Genicom Corporation, Department C411, Waynesboro, 
Virginia 22980. In Virginia, call 
1-703-949-1170. 



Inquiry 195 



Inquiry 162 



SALT 



rate of conversion. Since the output 
is displayed repetitively on an oscil- 
loscope, it is important to make this 
routine as fast as possible. In addition, 
it is highly desirable to have the sam- 
ple output rate be a round number of 
milliseconds. The D/A routines can 
operate without failure at 48 /*s per 
conversion and so can be used con- 
veniently at 50 lis per conversion. At 
this rate two channels of 1000 sam- 
ples each require 50 milliseconds for 
display. The two-channel repetition 
rate is thus about 10 per second. The 
repetition rate is actually a little lower 
because the oscilloscope requires a 
few milliseconds to reset its beam to 
the beginning of each trace. A repeti- 
tion rate of 12 to 18 Hz is not flicker- 
free, but is also not too uncomfortable 
to scrutinize. 

Digital I/O Primitives 

The I/O ports are used in our labora- 
tory to transfer 5-volt TTL (tran- 
sistor-transistor logic) pulses between 
the computer and other apparatus. 
This transfer of digital signals enables 
the computer to control the experi- 
ments, or in some cases, to be 
directed by external events. Frequent- 
ly the digital pulses must be trans- 
ferred during other time-critical 
operations, such as making rapid A/D 
recordings. For this reason, these 
routines were made as simple and 
therefore as short as possible. As ex- 
plained above, this need for simplici- 
ty resulted in a large number of very 
similar primitives. The simple routines 
take about 3 1 /as. If the routine is to 
be run during A/D sampling, an addi- 
tional 50 fis is required to stop and 
start the sequential A/D routines. 

Arithmetic Primitives 

A group of primitives perform simple 
arithmetic manipulations on entire 
channels of data located in high mem- 
ory. The manipulations include addi- 
tion, subtraction, multiplication, and 
division by constants as well as inte- 
gration and differentiation. These rou- 
tines can be very useful in making 
displays, finding maxima, and detect- 
ing trends. 

[continued) 



New Release 
4.1 




We've continually improved Microstat since it was introduced in 
1978, and the latest release includes many new features you've 
wanted. 



Interactive and Batch Processing 
Expanded Data Management 

Subsystem with New Data 

Transforms 
Reading data files created by other 

programs 
3 types of Analysis of Variance 
Time Series 

Crosstabs and Chi-Square 
Factorials, Permutations, and 

Combinations 
Hypothesis Tests 



Data sets that can exceed memory 
Multiple Regression (including 

Stepwise) 
Scatterplots (including best fit 

regression) 
Correlation Analysis 
12 Nonparametric tests 
8 Probability Distributions 
Descriptive Statistics 
Easy Installation 



Microstat' s algorithms have been designed to prevent numeric overflow errors 
and yield unsurpassed accuracy. Microstat's price is $375.00 including the user's 
manual and is available for the Z80, 8086, 8088 CPU's and CP/M80, CP/M86, 
MS-DOS, and PC-DOS. To order, call or write. 



6413 N. College Ave. • Indianapolis, IN 46220 
(317) 255-6476 




ECa80FT#inC. 




Trademarks: Microstat (Ecosoft), CP/M (Digital Research), MS-DOS (Microsoft), 
PC-DOS (IBM), Z80 (Zilog), 8086, 8088 (Intel). 




p*V 



otec 



. rt oow°' 'ir\ioW*y w ,^1)5"'^ -fcCWSLdkitoP- 



nd ed 






■ raoi 



■to*© 



«s 



,^-»r,;>»- 



dW&.wW 



***Zfr*-*!&*? 



•sassr 



TUP*' 



M^£#**" 



-no 



^°° 



,*Kft 



~*3w&&*^ 



:'-% S ?° d0G ' 



&0& 






ovd* 



\\oe 



w**£SUt* 



I 90 YvS a ' 
\<6& 






rw'ia 



. 3 A0A 



»^12i 




Inquiry 122 



JUNE 1985 -BYTE 163 



SALT 



There are a few miscellaneous rou- 
tines for operations that could also be 
run from BASIC but which have been 
included in SALT so that program 
control would not have to return to 
BASIC each time they were to be run. 
These routines print messages on the 
monitor, sound the beeper, etc. They 
can be used, for example, to provide 



warning sounds and error messages 
in SALT. 

Future Improvements 

This first version of SALT contains all 
the necessary routines for interfacing 
a computer to laboratory apparatus 
and for manipulating blocks of data, 
but it contains very little else. It is ob- 



FINALLY! 

Communications Hardware and Software that's 
Inexpensive, Easy to Use and Guaranteed. 




$pid* ff{ 



"The Amazing SpiderNet an 

incredible amount of utility available to 

almost any small-sized application " 

Ron Exner. 12/84 Hardcopy 



$595 



SNARE™— SpiderNet's Callback Security System 

1 Protects ANY dialup computer system from unauthorized intruders 
» Authorized users are called back at specific locations 
• SNARE secures three modem lines at less than S200/line 

1 Up to three separate computers can use SNARE simultaneously 

• Uses Hayes-compatible modems or others like DEC'S DF03 

• Stores 70 authorized users, expands to 150 (300+ soon) 

SpiderNet— Printer/Plotter Sharing Unit 

• Shares expensive RS-232 plotters, daisy wheel or laser printers 
• Makes laser printers affordable for your office or department 
• Two to five micros or minis can share a peripheral 
• Connect and use— no software modifications required! 
Optional 64K buffer for spooling 



M95 



M95 



SpiderNet— Computer and Peripheral Networking 

• Six port, intelligent software-controlled RS-232switch 
• Share multiple peripherals between systems 

• Interconnect computers to share data and files 
Three pairs of ports can be connected simultaneously 
• Links ports at different baud rates 

• Programmable: perfect for custom RS-232 control application 

SpiderNet— Multiplexer. Terminal Concentrator and more 

• Five to one RS-232 multiplexer/demultiplexer 

• 5X1 or 4X2 concentrator for expanding terminal ports 



$495 



$49.95 



ENVOY™— Telecommunications Software 

• Access to electronic mail, remote systems and data networks 

• Error free, text and binary file transfers via XMODEM or ANSI X3.28 

Smart terminal mode with capture buffer, autodial and autologin 
• Easy to use, menu driven, compact and high speed 

• Utilities menu for copy, type, print, erase and rename files 
For IBM PC, PCjr, PC compatibles, Sanyo MBC-55X. 
CP/M-80 or -86 

30-day money-back guarantee on all products 

ARTISOFT.nc 

2828 N. Country Club #105 
Tucson, Arizona 85716 
(602) 327-4305 

Inquiry 37 for Dealers. 
Inquiry 38 for End Users. 




vious that more primitive routines for 
data analysis would be useful and 
that the language might be useful out- 
side the lab. Rapid routines for dis- 
playing records with cursors on the 
displays, finding maxima and minima 
in records, etc., would greatly speed 
some types of analysis. High-speed 
mathematical routines, such as fast 
Fourier transforms, could also be ex- 
tremely useful in some specialized ap- 
plications. Nonlaboratory applications 
would include all forms of assembly- 
language routines to be run in 
batches under control of an inter- 
active higher-level language, such as 
BASIC The use of assembly-language 
routines for performing repetitious 
procedures and for handling large 
blocks of data can greatly hasten pro- 
gram execution time and expand the 
memory space available to BASIC 
without sacrificing its interactive 
qualities. Fortunately, the structure of 
the language permits the simple ad- 
dition of the necessary primitives. 
Once the routine is written, its name, 
starting address, and parameter for- 
mat are simply added to the tables of 
primitives. Since the assembly-lan- 
guage routines are short, it will 
generally not be necessary to remove 
old routines to make room for new 
ones. The current version of SALT oc- 
cupies about 12K bytes of instruction 
space, of which 9K bytes are used for 
primitives. As written, the program 
can fill up to 64K bytes of higher 
memory with assembly-language pro- 
grams, so that the space occupied by 
the primitive routines can be ex- 
panded over fivefold before economy 
of space becomes a consideration. 
| Editor's note: You can obtain a copy o\ SALT 
on disk and documentation of its operation 
by sending $50 to Sam Fenster, 4949 S. 
Woodlawn Ave.. Chicago. IL 6061 5. | ■ 

REFERENCES 

1. Ritter, Terry, and Gregory Walker. 
'Varieties of Threaded Code for Language 
Implementation." BYTE, September 1980, 
page 206. 

2. Smith, Bob, and Tom Puckett. "Life in 
the Fast Lane: Techniques for Obtaining 
Timing Information with Microsecond 
Resolution on the PC." PC TECH JOUR- 
NAL. April 1984, page 63. 




NEW 

A powerful multifile 
database with a 
programming language 
lor only 



VFersaform's new XL database isn't just promises— it's here now! 
And it offers-YES, FOR ONLY $99 — all the features you'd expect in 
a database costing 4 times as much. 
Accounting applications are XL's strength. Invoicing, purchasing, receiv- 
ables, and shipping almost create themselves as you design the forms— 
and XL transfers data between them. There's an Invoicing, A/R and Inven- 
tory application— source code included— in the package that shows how 
it's done. The power's there. And unlike packaged accounting programs, 
you can do them YOUR way. 





VersaForm XL dBASE III' 


R-BASE 4000* 


PRICE 


99 


695 


495 


STRUCTURED 








LANGUAGE 


Y 


Y 


Y 


MULTI-FILE 


Y 


Y 


Y 


COLUMNS WITHIN 








DATA RECORD 


Y 


N 


N 


DATA ENTRY CHECKING 


BUILT-IN 


MUST WRITE PROGRAM BUILT-IN 


ON-SCREEN CALC 


BUILT-IN 


MUST WRITE PROGRAM MUST WRITE PROGRAM 


FORMS OUTPUT 


BUILT-IN 


MUST WRITE PROGRAM MUST WRITE PROGRAM 


DATE ARITHMETIC 


Y 


Y 


N 


DATATYPES 


DYNAMIC 


FIXED 


FIXED 


COLUMN TOTAL OPERATOR Y 


N 


N 


QUERY BY EXAMPLE o 


Y 


N 


EXTRA 


MAX FILE SIZE 


4MB 


OPEN 


OPEN 


MAX RECORD SIZE 


4000 


4000 


1530 


MBASE III is a registered trademark of AshtonTate. R.BASE 4000 is a trademark of Microrim, Inc. 



• XL's structured language can access multiple files. 48 built-in 
functions give control of file access, printing, and user dialogues. You'll 
develop transaction-based applications with an ease you've never 
experienced before. And all at this unheard-of low price. 

• VersaForm XL's unique form-oriented data structures let you easily set 
up forms and ledgers— even those with columns! Application develop- 
ment is FAST, FAST, FAST. And since forms are the way that businesses 
already store their data, the transition is smooth. That's why VersaForm 
XL is so easy to operate even for high-turnover clerical people— it starts 
from where they are now. 

• Automatic data entry checking and on-screen calculation make trans- 
actions error-free. Stored print formats make output formatting a 
snap— you can quickly match existing paper forms. VersaForm XL's 
report generator is clear and intuitive. Designers can pre-install reports, 

Inquiry 32 




users can set up their own. 
• Query-by-forms (at no extra cost) lets users go right to the data they 
need. No query language to learn— forms are the natural language of 
business. 

Ironclad Money-Back Guarantee 

Try VersaForm XL for 30 days. If you're not fully satisfied, return it. Well 

gladly refund your money. 

Order now, and have the pleasure of using the right tool at the right price. 

You can't lose! 

VersaForm XL runs on IBM PC, XT, AT and compatibles. Requires 192K, 

two 360KB drives, DOS 2.0 or later. Hard disk recommended. 

Standard VersaForm (single file, no language) available for 64K, 2-drive 

Apple II or 128KIBM PQ $69. 



VersaForm XL 

Applied Software Technology, Dept 685, 1350 Dell Ave., Suite 206, Campbell, CA 95008 
(408) 370-2662 

Yes! Rush me Versaform XL for the IBM PC ($99) 

Standard Versaform (Single file, no language) for the IBM PC ($69) 

Apple II (+,E,C) ($69) 

Credit card members can order by phone. G5 mm 

Toil-Free: 1-800-824-8145 

In California 

Toil-Free: 1-800-854-4448 

Enclose check or money order with coupon. Include $4.50 for U.S. Shipping and 
handling. $7.00 for COD. California residents add 6.5% tax. 

My check or money order is enclosed Send C.O.D. 

Charge my MasterCard ' Visa 

Account No Expires 



PLEASE PRINT CLEARLY 

Name 

Address 

City 

Phone 



685 



_State_ 



^Zip- 



Signature_ 



IUNE I985 -BYTE 165 



"LOWS®, PC-PQS';Pl£OSrX£NIX® 
...HOW DO yoOOBTfTALL 
TO WORK 7D4B7V0??" 




For Concept III. The networking family of multifunctional integrated 

systems. Interconnects to IBM mainframes, remote data files, other 

vendors' equipment. A new Perspective on office automation that lets you 

add processing power as you grow. 

Lanier customer training and service 

are second to none. And we're 

backed by Harris, a world leader in 

Information Technology Call for a 

demonstration. 800-241- 1706.* 

Or send the coupon. Today 

FOR YOUR INFORMATION, 
WE'RE NOW PART OF HARRIS. 

"In Georgia, call 404-321-1244 collect. 

Harris/Lanier, Electronic Office Systems Div. 

SEE LANIER. For a new Perspective on office automation 



LANIER, A HARRIS COMPANY 

1700 Chantilly Drive, N.E., Atlanta, GA 30324 


N;i me 






Firm 




Title 


Address 






County 




Phone 


City 




SfHfr 7in 


33 HARRIS 


June '85, 


Byte 


4 75 H F5 



a GUT MT 
UNIQUE. 





1J> 



nothing 
Hiss than a 
hews service 



From your fingerprint to your 
monogram, you are unique. 
You wear a business suit tailored just 
for you; now you can get business 
news tailored just for you. 
With NewsNet you get vital, in-depth 
business news. You get expert 
information on your industry or 
profession. Through your computer 
and telephone, you get news on a vast 
range of subjects from the world's 
largest retrieval service of business 
newsletter information. 

3,000 New Articles 
Screened Each Day 

You'll get access to more than 250 busi- 
ness newsletters, plus wire services 
like UPI and PR Newswire. There's 
news on everything from computers to 
investments, from taxes to telecommu- 
nications. 3000 new articles are 
added every day and each one is 
screened specially for you. 

Fast, Versatile, Simple 

You enter key words, names or 
phrases. NewsNet stores them and 
saves every article containing those 
words. Check in daily, even hourly; 
scan the headlines or read entire arti- 
cles, and print out what you want to 
keep. Change key words when you 
like. You're free from the worry that 
you've missed something important— 
and your topics may turn up in publi- 
cations you'd never have time to read. 
If you're onto a new topic, the entire 
NewsNet database is available for 
your search. Get special reports on 
^your competition, the inside story on 
an industry, or press coverage of a 
company's new product. 

Start Saving Now 

The average newsletter carried by 
NewsNet costs $200 per year in print 
form. That's $50,000 worth of newslet- 
ters. Yet with NewsNet you pay as little 
as $15 per month for access. And 
NewsNet has no initiation fee. It's a 
tremendous value. So call today. We'll 
send everything you need to start 
saving now. 



Welcome 

NewsNet 

Your Custom News 
Report is Ready 



800-345-1301 

(In PA 215-527-8030) 
945 Haverford Rd. Bryn Mawr, PA 19010 

inquiry 309 



By Phillip Robinson 



The SUM: An 
AI Coprocessor 



Turning a common 
AI operation 
into silicon 



Logic programming is a 
staple of artificial-intelli- 
gence (AI) software and is 
often dominated by the pat- 
tern-matching process of unification 
(seethe "Resolution and Unification" 
text box on page 173). In fact when 
logic-programming languages such as 
Prolog and LOGLISP are used, as 
much as 50 to 60 percent of a com- 
puter's processing time is spent on 
unification. When a single algorithm 
is used that frequently, it is natural to 
consider implementing it as custom 
hardware. When that same algorithm 
lends itself to parallelism and concur- 
rency because of its recursive, tree- 
search characteristics, it practically 
begs for VLSI (very large scale integra- 
tion) implementation. 

SUM History 

Professor John Oldfield and a team of 
researchers at Syracuse University are 
developing the SUM (Syracuse Unifi- 
cation Machine), a coprocessor for 
computers geared toward A I pro- 
gramming. The project combines the 
resources of the Syracuse CIS (Com- 
puter and Information Science) de- 
partment, ECE (Electrical and Com- 
puter Engineering) department, and 
the CASE Center (Computer Applica- 
tions and Software Engineering 
Center, set up by New York State). Key 
SUM individuals are Dr. Oldfield 
himself (who contributed CAD |com- 



puter-aided design| and VLSI exper- 
tise), Professor Alan Robinson (who 
is the head of the logic-programming 
efforts at Syracuse), and Kevin Greene 
(who made the initial designs of the 
SUM). Because of a famous 1965 
paper, Dr. Robinson is often credited 
with inventing unification. He is more 
modest, pointing to the work of Her- 
brand in the 1930s and the studies of 
Prawitz and Kenger concerning unifi- 
cation. Dr. Robinson contends that he 
was just the first to formalize the 
unification process and apply it to 
resolution. 

In 1981, the Syracuse CIS logic-pro- 
gramming group learned that Caltech 
(California Institute of ifechnology) stu- 
dent Sheue-Ling Lien had designed a 
chip that embodied Dr. Robinson's 
original unification algorithm (see the 
"Unification on a Chip" text box, page 
174). Dr. Robinson and his colleagues 
were somewhat taken aback that 
someone else had taken this step. 
Lien's report was a major inspiration 
for the development of the SUM, even 
though the chip it described was 
never actually made. Because ECE 
had been developing custom VLSI 



thip-design capability and had a 
strong logic-programming group, 
combining the pursuits "seemed a 
natural thing" according to Dr. 
Oldfield. 

Coprocessor Strategy 

As Dr. Oldfield explains, "Although we 
started talking about a unification 
chip, following along the lines of the 
Caltech one, it soon became fairly 
clear that at present levels of integra- 
tion that was fairly ridiculous. You 
could make a chip, but it would be 
limited to solving such small prob- 
lems that it wouldn't be worthwhile." 
The SUM group wanted to design a 
full-blown, practical processor. Be- 
sides, Lien's chip used Dr. Robinson's 
original 1965 algorithm. Much more 
efficient algorithms have been devel- 
oped since. 

When they realized that a single 
chip wasn't realistic, the members of 
the group looked at the possibility of 
a coprocessor, initially for the LMI 

(continued) 
Phillip Robinson is a senior technical editor 
at BYTE. He can be contacted at 1000 
Elwell Court, Palo Alto, CA 94303. 




ILLUSTRATED BY RANDALL ENOS 



JUNE 1985 -BYTE 169 



THE SUM 



(LISP Machine Inc.) Lambda com- 
puter. Dr. Oldfield continues, "Here's 
the LMI Lambda executing a LISP pro- 
gram. When it comes up to the point 
where it needs to do a unification, 
then that task is given over to the 
SUM," which would handle it more ef- 
ficiently than the Lambda could. The 
SUM interface is tailored to the LMI 
Lambda's high-speed, parallel Nubus 
(developed by Texas Instruments) but 
could easily be adapted to other ma- 
chines and buses. 

Resolution, Unification, 
and Trees 

Although the unification algorithm 
has a number of uses, it is often 
employed as part of a wider process 
called resolution. Resolution is a rule of 
inference for constructing deductive 
proofs from any number of accepted 
clauses. Practical problems may in- 
volve thousands or millions of 



clauses. One way to view resolution 
is as the exploration of a tree of pos- 
sible proofs. Resolution uses unifica- 
tion to help reduce the number of 
clauses. Unification, in effect, works 
on its own tree, moving down 
branches and trying to bind— find ac- 
ceptable values for— variables. If unifi- 
cation is successful on one branch, it 
switches to another branch farther 
down and binds some more variables. 
Failure of resolution on a branch of 
the resolution tree is not a disaster- 
it just means another branch must be 
explored. Similarly when unification 
fails on a branch of the unification 
tree, the process keeps all bindings 
except the most recent and explores 
another branch. 

SUM Architecture and 
Operation 

Figure I is a block diagram of the 
SUM that Kevin Greene developed. 



Unification tasks come into the SUM 
from the Lambda, are performed, and 
the results are passed back. The com- 
munication agent, which is the inter- 
face between the Lambda and the 
SUM, passes unification tasks to the 
work manager. Initially, the work 
manager's task pool will have only 
one task, but as processing continues 
other tasks will come back from the 
binding agents. Those tasks must be 
coordinated with the tasks coming 
from the communication agent. The 
work manager pushes the unification 
task out into the analysis agent, which 
executes the heart of the unification 
algorithm. 

The analysis agent must decide 
what to do with the expressions it 
receives. What it does depends on the 
type of expression. If both expres- 
sions are simple constants, unification 
succeeds only if they are identical. If 

[continued) 



D 



FROM a TO 
LAMBDA 



COMMUNICATION 
AGENT 



CACHE ' 



EXTENDED REFERENCES AND 
COMPARISONS OF COMPLEX CONSTANTS 



WORK 
MANAGER 



TASK POOL 



;^n 



o 



ANALYSIS 
AGENT 

(PIPELINED) 



BINDING TASKS 



ANALYSIS 
TASKS 



BINDING 
CONTROLLER 



7*> 



* CUSTOM VLSI CHIPS 



\y 



BINDING 

AGENT 

(ODD INDICES) 



AM* 


RAM 



NEW UNIFICATION TASKS 



BINDING 

AGENT 

(EVEN INDICES) 



AM* 


RAM 



Figure I: A block diagram of the Syracuse Unification Machine. 



170 BYTE • JUNE 1985 




Would you hire an entire band when 
all you need is one instrument? Of 
course not. 

So why use a whole orchestra of 
computers when all you need is one 
to develop software for virtually any 
type of micro-processor? 

The secret? Avocefs family of 
cross-assemblers. With Avocet 
cross-assemblers you can develop 
software for practically every kind of 
processor — without having to 
switch to another development 
system along the way! 



Cross-Assemblers to Beat the Band! 



Development Tools That Work 

Avocet cross-assemblers are fast, reliable 
and user-proven in over 4 years of actual 
use. Ask NASA, IBM, Xerox or the 
hundreds of other organizations that use 
them. Every time you see a new micro- 
processor-based product, there's a good 
chance it was developed with Avocet 
cross-assemblers. 

Avocet cross-assemblers are easy to use. 
They run on almost any personal com- 
puter and process assembly language for 
the most popular, microprocessor families. 

Your Computer Can Be A 
Complete Development System 

Avocet has the tools you need to enter 
and assemble your soft-ware and finally 
cast it in EPROM: 

VEDITText Editor makes source code 
entry a snap. Full- screen editing plus a 
TECO-like command mode for advanced 
tasks. Easy installation - INSTALL pro- 
gram supports over 40 terminals and 
personal computers. Customizable 
keyboard layout. CP/M-80, CP/M-86, 
MSDOS,PCDOS $150 

EPROM Programmers let you pro 

gram, verify, compare, read, display 
EPROMS but cost less because they 
communicate through your personal 
computer or terminal. No personality 
modules! On-board intelligence provides 
menu-based setup for 34 different 
EPROMS, EEPROMS and MPUs (40-pin 
devices require socket adaptors). Self- 
contained unit with internal power supply, 
RS-232 interface, Textool ZIF socket. 
Driver software (sold separately) gives 
you access to all programmer features 
through your computer, lets you down- 
load cross-assembler output files, copy 
EPROM to disk. 

Model 7228 Advanced Programmer 

— Supports all PROM types listed. Super- 
fast "adaptive" programming algorithm 
programs 2764 in 1.1 minutes. 

Model 7128 Standard Programmer — 

Lower-cost version of 7228. Supports all 
PROM types except "A" versions of 2764 
and 27128. Standard programming algo- 
rithm programs 2764 in 6.8 minutes. 



Avocet 




Target 




CP/M-86 


Cross-assembler 


Microprocessor 


CP/M-80 


IBM PC, MSDOS** 


XASM04 


NEW 


6804 


$ 250.00 


$ 250.00 


XASM05 




6805 


200.00 


250.00 


XASM09 




6809 


200.00 


250.00 


XASM18 




1802/1805 


200.00 


250.00 


XASM48 




8048/8041 


200.00 


250.00 


XASM51 




8051 


200.00 


250.00 


XASM65 




6502/65C02 


200.00 


250.00 


XASM68 




6800/01,6301 


200.00 


250.00 


XASM75 




NEC 7500 


500.00 


500.00 


XASM85 




8085 


250.00 


250.00 


XASM400 




GOP400 


300.00 


300.00 


XASMF8 




F8/3870 


300.00 


300.00 


XASMZ8 




Z8 


200.00 


250.00 


XASMZ80 




Z80 


250.00 


250.00 


XMAC682 


NEW 


68200 


595.00 


595.00 


XMAC68K 


NEW 


68000/68010 


595.00 


595.00 



Model 7956 and 7956-SA Gang Pro- 
grammers — Similar features to 7228. 
but program as many as 8 EPROMS at 
once. 7956-SA stand-alone version copies 
from a master EPROM. 7956 lab version 
has all features of stand-alone plus RS- 
232 interface. 

EPROM: 2758, 2716, 2732, 2732A, 2764, 2764A, 
27128, 27128A, 27256, 2508, 2516, 2532, 2564, 68764, 
68766, 5133, 5143. CMOS: 27C16, 27C32, 27C64, 
MC6716. EEPROM: 5213, X2816A, 48016, I2816A, 
5213H. MPU (w/adaptor): 8748, 8748H, 8749, 
8749H, 8741, 8742, 8751, 8755. 

7228 Advanced Programmer $ 599 

7128 Standard Programmer 429 

7956 Laboratory Gang Programmer 1099 

7956-SA Stand-Alone Gang Programmer 979 

GDX Driver Software 95 

481 8748 Family Socket Adaptor 98 

511 8751 Socket Adaptor 174 

755 8755 Socket Adaptor 135 

CABLE RS-232 Cable (specify gender) 30 

HEXTRAN Universal HEX File Con- 
verter — Convert assembler output to 
other formats for downloading to de- 
velopment systems and target boards. 
Also useful for examining object file, 
changing loadaddresses, extracting parts 
of files. Converts to and from Intel, 
Motorola, MOS, RCA, Fairchild, Tek- 
tronix, Tl, Binary and HEX/ASCII Dump 
formats. For CP/M, CP/M-86, MSDOS, 
PCDOS $250 

Ask about UNIX. 



68000 CROSS-ASSEMBLER - With 
exhaustive field testing completed, our 
68000 assembler is available for imme- 
diate shipment. XMAC68K supports 
Motorola standard assembly language for 
the 68000 and 68010. Macros, cross- 
reference, structured assembly statements, 
instruction optimization and more. Linker 
and librarian included. Comprehensive, 
well-written manual. 

To find out more, call us toll-free. 

1-800-448-8500 

(in the U.S. Except Alaska and Hawaii) 

VISA i»nd McisterCcud ncci'pled- All popular disc (ormais now <ivdiltibk> 
-■pltMSt'speafv. Pricesdo noi include shippmgond handling c*ll fur exact 
quotes. OEM INQUIRIES INVITED 
*Tiwdenwk of Disiidl Kps.iwch ** Twdi'iiwk of Microsoft 



AVOCET /X 
SYSTEMS INC, 



Sales and Development: 

10 Summer Street 

P.O. Box 490. Dept. 685-B 

Rockport, Maine 04856 

(207) 236-9055 Telex: 467210 AVOCET CI 

Corporate Offices: 
804 South State Street 
Dover, Delaware 19901 



Inquiry 42 



JUNE 1985 -BYTE 171 



We will BEAT any price advertised in this magazine! 



/ — 




> 




EPSON 




10' 


JX80 160 cps, color 


. . 585 


Homewriter 100 cps 


. . 227 


15' 


LD1 500 200 cps, needs inter- 


face 


, specify serial or para. 


. .1195 


10' 


LX80 100 cps 


. . 265 


10' 


FX80 160 cps 


. .460 


15' 


FX100 160 cps . . . 


. . 690 


Serial/Parallel Interface . . . 


135/75 


Tractor Feed 


. . . 52, 



vOMDEK 


> 


Video 300, Green 


. 129 


Color 1- 


. 199 


Color 300 


. 235 


RGB 




Color 500 


. 325 


Color 600 


.450 


Color 700 


. 520 
> 



OKIDATA 

A Real Work Horse 
Dot Matrix 

15" 83P 120 595 

10" 82P 120cps 329 

15" 93P 160cps 595 

10" 92P 160cps 399 

10" 182 120cps Call 

Serial Interface 2K Buffer ... 94 



(DHayesr 

2400. .. 7~ 


> 

. Call 

. 489 
.419 

. Call 

.265 
. 199 
..59 J 


1200/300 


1200B w/Smartcom Sft.. . 

Anchor 

2400 


Mark XII 


Volks 12 w/cable 

Volks 3 w/cable 



Cation 

Canon Dot Matrix 

This one a Special Purchase 

Commercial Quality 

Very Limited Quantity 

Hi Speed 160cps IBM Clr Comp. 

only 379 



Perfect Compatible for your IBM 

400, 12" Res 640/262 

IBM Styling w/IBM Cable. . .463 

Vision III. RGB, Res 640/262 

Without Cable 395 



d$isywriter. 

LETTER QUALITY 

When you want your letter to look 

like a million S 

40 cps 700 

Factory reconditioned, 
90 day guarantee 
REGULARLY 1.495. 



BMC Color Composite 

Stylish Plastic Cabinet, Built-in 
Sound, Perfect for Apple, 

Commodore, Atari 179 

PANASONIC 

12" Green 137 

13" color RGB, 

CT1300D 259 




PANASONIC/* 

With IBM 

Cable 

Friction & 

Tractor Feed, Software disk 

to change type size & style. 

1090 80 cps 219 

1091 120 cps 299 

Specify computer 

Two Reliable Workhorses. 




Hi Res Metal Cabinet 

1~9 79 Large qty. 

10-19... 70 Ca// 

20 up 68 



AhAE^K/RICOH 

Daisy Wheel Hi Speed 

Low Noise Level (50DB) 

5025 25 cps . . : 525 



-A 



POWER DEVICES 

Oatashield back-up power source 

200 PC-200 watt 265 

300 XT-300watt 390 

Brooks 6 Dutlet-Surge Suppressor/ 

Noise Filter 54 

- A 




QUADRAM 

Quadram 224 

384K 344 

AB's Version 384K 299 



Multi-function card 

64K 313 

384K 413 

HERCULES 

Graphic 319 

Color 169 



PARADISE 

5 Pk w/o parallel 

port-no memory 169 

384K 283 

Modular Graphic Card 279 




Cables 


> 


Parallel Cable 




(36pin/36pin) 


. 23 


RS232 Male to Male 6' . . 


. 17 


RS232 Male to Female 6'. 


. 18 


Parallel Cable for Columbia . 


. 25 


h 


J 




r 


\ 



Software 

dBase III 458 

Lotus 123 290 

Prokey 3.0 - - 87 

Millionaire 40 

Summer Games 28 

Typing Tutor III 35 

Hitchhikers Gd. Galaxy 28 

Multiplan 129 

Copy II PC 35 

Mind Probe. 35 

Turbo Pascal 3.0 54 

PFS Graft/Report 79 

PFS Write/file/plan 89 

Utility Program 

Side Kick Call 

Norton Utilities Call 

Copy 11 PC IBM install Lotus dBase 

etc. on hard disk Call 

Print shop Call 




data systems 



Zenith Data Systems 

More than IBM compatible 

e 2-DS DD 36K Disk Drives 

e 320K Ram 

e Amber 20 MHz Monitor-P3 

e Microsoft Software Package includes 

MS-DOS 2.1, Word, Multiplan 
e Pearl Database, SI 00 with system 

$1,850 




AMRAY 

Media Mate 9.95 

FlipN File/25 16.50 

Flip N File/50 22.95 



R EDIFORM 

Computer Supplies 

Computer paper 
Self-adhesive labels 
Computer form 
Carrier mounted letterheads 
Carrier mounted envelopes 
Data binder MORE 
Call for current pricing! 



Software Apple 

Typing Tutor III 

Hitchhikers Gd Galaxy. 

Multiplan 

Copy II 

Mind Probe 

Turbo Pascal 3,0 .. . 

Corner Stone 

Millionaire 



. . 35 
. . 28 
. . 84 
. .35 
. . 35 
. . 54 
. Call 
. . 35 



Software Macintosh 

Typing Tutor III 40 

Hitchhikers Gd to Galaxy. ... 28 

Multiplan 129 

Mind Probe 35 

Millionaire 40 

Ensemble 230 

Jazz Call 

Helix dBase Call 



AB 
DISKETTES 



>0 



with Media Mate 

30 - 3.5"., 125 

100 -5-DS/DO 160 

GENERIC DISKS 

Made by one of the 
leading manufacturers 

SS/DD 1 .00 

DS/DD 1.05 



TEAC 



| Disk Drive 
DS/DD, 360K 



120 



HARD DISKS 

10 Mg Add-in 629 

20 Mg Add-in 850 

Atasi 53 Mg. AT Kit . Call 




AB Computers' own PC 
100% IBM Compatible 

256K RAM 

2 - 360K Disk Drives 

Serial & Parallel Ports 

Your choice of 20 MHz Amber or Green Monitor 
Introductoiy Offer 

$1,595 






A B SATISFACTION GUARANTEE 

Every product sold by AB Computers is factory packed and comes with the manufacturer's warranty. 
However, if an item is detective when received, you may return it to us within 15 da^s lor repair, 
adjustment or replacement at our option. Returns must be accompanied with copy ol your invoice, letter 
detailing defect, blank warranty card and all original factory packing. To expedite handling, please call 
for return authorization number. (Sorry, no return on computer software once opened.) 

ORDERING INFORMATION: Order by check. Mastercard or VISA. Personal checks take 15 
days to clear, no waiting on certified checks or money orders. Add 3% shipping and handling on all 
orders (minimum $2.00) Mail, APD/FP0. Air may require additional charges. PA residents add 6% 
sales tax. MA residents add 5%, All items subject to availability. Prices subject to changes. Additional 
discounts available to qualified educational institutions. 
Requests for bid on volume requirements invited. 




800-822-1211 



COMPUTERS 



Use our 

TOLL FREE 

Order Line 

Mon. -Sat. 

9am-6pmEST In PA: 215-822-7727 

252 BETHLEHEM PIKE, COLMAR, PENNSYLVANIA 1 89 1 5 



We support Apple, 

Macintosh, 

Commodore, 

IBM & compatibles 



McntefCod 




VISA 


Sib 



Customer Service 
215-822-7727 



Inquiry 6 



Inquiry 7 



THE SUM 



the expressions are complex con- 
stants, such as floating-point numbers 
or strings, the analysis agent may be 
given pointers to the data structures 
rather than the data structures 
themselves. Since unification requires 
an equivalency check, the SUM must 
pass the pointers back to the 
Lambda. As Dr. Oldfield says, "SUM 
doesn't know anything about list 



structures. All it can handle are 
pointers to structures that continue to 
reside in the Lambda." In this case, the 
comparison is made by the Lambda, 
and the result is then returned to the 
SUM. 

Finally, the analysis agent may en- 
counter the job of having to unify a 
variable and an expression. It can try 

[continued] 



Resolution and Unification 



Many problems in AI are most ef- 
ficiently solved by logical oper- 
ations. In fact, the language Prolog is 
specifically oriented to the use of prop- 
ositional and predicate logic. In their 
simplest forms, the rules of logic deal 
with operators such as AND, OR, and 
NOT. However, complex problems in 
AI are nearly always solved by applica- 
tion of a more powerful logical tech- 
nique, a deduction method known as 
resolution. 

Propositions are statements of fact 
that may be true or false. These are 
propositions: 

My hard disk just crashed. 

My warranty expired yesterday. 

We frequently represent propositions 
symbolically as single letters: 



Atoms are propositions that cannot 
be broken down into other proposi- 
tions. Atoms are also called positive 
literals; atoms preceded by the NOT 
operator are called negative literals. 
The propositions described above are 
atoms, while the following are not: 

My hard disk just crashed AND my 
warranty expired yesterday, 
p OR q 

A series of literals connected by OR 
operators forms a clause, and we can 
use resolution to work with clauses in 
this way: 

If there is a clause p OR q 
and another clause (NOT q) OR r 
then p OR r 

follows by resolution. Resolution makes 
no statement about the truth of p, q, 
or r; it merely assures that we can per- 
form that particular manipulation of 



the logical instructions. 

Where does unification come in? To 
resolve two clauses, two literals must 
be found, one in each clause, such that 
one literal is the exact negation of the 
other. If the literals do not match, they 
can sometimes be made to do so by 
substitutions that follow certain rules. 
You can replace a variable with a con- 
stant (this is called instantiation), with an- 
other variable, or with an expression 
(as long as that expression does not 
contain the original variable). If you 
follow the rules and find a substitution 
that resolves the two clauses, then you 
have found a unifier and have per- 
formed unification. 

In general, after you have converted 
the logical statements describing a 
situation into clauses, you can use 
unification to try to prove a theorem 
about the situation. Resolution will ter- 
minate either when clauses remain that 
are not resolvable or when resolution 
is attempted on a statement and its 
negation— a contradiction (this pro- 
duces the empty clause, often called 
NIL). 

For instance, if a robot were under- 
water and wanted to know if its bat- 
teries were endangered by the water, 
it would first combine all the rules it 
knew about water and batteries with 
the data from its sensors. That infor- 
mation would be put into clause form 
along with the negation of the theorem 
"My batteries will be damaged." The 
robot would then use unification sub- 
stitutions to attempt resolution. The 
result will either be unresolvable 
clauses, in which case the theorem is 
false and the robot can go on to worry 
about: something else, or an empty 
clause, in which case the theorem is 
true and the robot may be doomed. 




AB is one of the oldest Commodore Dealers 

C-64, 1541, 1702, 1530, 1531, Mps 801 

BEST PRICES BEST SUPPORT 

Buy a C-64, drive monitor, get over 330 

programs free! 27 disks. Call for details. 



OPTIONAL ACCESSORIES 

MSD Drives, Single/Dual Call 

Bus Card II by Batteries Included 149 

• full buffered IEEE 488 bus for speed 

• cartridge extension slot 

• parallel printer port 

• DOS "wedge" commands included 

• machine language monitor included 

• extended BASIC 

Muppet Learning Keys Call 

Modems, 1600. 1650, WC6420 Call 



PET SCAN I 

PETSCAN allows you to connect up to 37 CBM/PET 
computers as a networked cluster to shared disk drives and 
printers (up to 8 Peripherals can be in the shared cluster along 
with 37 computers). 

Configur. to attach 2 computer + 9' cable 245 

Additional computer modules w/6' cable 100 

Cables beyond standard length/per ft 1 

Extra 9' master cable 28 

Extra 6' slave cable 18 

C-SCAN for C-64 125 



TECH SKETCH LIGHT PEN 

Includes Micro Illustrator software. Easiest to use 

and more accurate than Koala 44 

KOALA PAD 

for C-64 with Paint Software 70 



BUSINESS EDUCATIONAL 

Wordpro 3+ 85 A 9 ent USA 21 

Microsoft MultiPlan 69 Spell Diver 21 

Omniwrit/speller 45 Secret Flier 14 

Bank Street Writer .... 49 Kinder Com P 20 

PFS: File 60 Cel1 Defense 24 

Flexfile II AB Exc 59 T VP in 9 Tutor 35 

KMMM Pascal 95 Rock Y' s Boots 32 

ENTERTAINMENT 

Lode Runner 26 Flight Simulator 41 

Mind Prober 20 Zaxxon 30 

Bridge, C-64 Call 

We carry full software lines by Electronic Arts, Scholastic, 
Scarborough, PFS, Spinnaker, Batteries Included and many 
others. If you don't see the program you want listed, call our toll- 
free order phone 1-800-822-1211. 




Use our 

TOLL FREE 

Order Line 

Mori.- Sat. 

9am - 6pm EST 



■HfB SNfl 



CUSTOMER SERVICE 
215-822-7727 

800-822-1211 

In PA 2 15-822-7727 
25ZBETHLEHEM PIKE, COLMAR, PENNSYLVANIA 18915 



COMPUTERS 



JUNE 1985 -BYTE 173 



THE SUM 



to bind the variable to the expression, 
in which case the task is pushed out 
to the binding agent. 

Parallelism and Recursion 
in Binding 

The SUM team decided that the bind- 
ing process could exploit parallelism 
because many bindings can be done 
concurrently. The original design uses 
two binding agents, but the work could 
be split up for four, eight, or more. 
Before you make a binding, you 
have to find out whether the variable 
is already bound. For example, if A is 
already bound to 1 5, or to a character 
string, you don't make a new binding 
of A to 3. For efficiency, the SUM must 
be able to check bindings quickly in 
what is basically a table lookup. A 
subsidiary unification task is gen- 
erated, goes back into the work 
manager's task pool, and then goes 
around the system again. 

Unification Failure 
and Success 

Unification can fail in only one of two 
places: the Lambda or the analysis 
agent. If unification fails, all activity in 
the SUM must cease. Then the SUM 
must inform the Lambda of the failure. 
However, the Lambda may find out by 



4096 
ENTRIES 





NAME 1 EXPRESSION 





h-lB— H««- 



BITS 



Figure 2: A diagram of the binding agent. 

itself. For example, in the case of the 
complex constants that are passed 
back to the Lambda, the Lambda rec- 
ognizes failure before the SUM does. 
In that case, the Lambda immediate- 
ly directs the SUM to move on to the 
next task. 

Unification has succeeded when 
there are no tasks waiting in the 
SUM— nothing in the analysis agent 
and no bindings in progress. In that 
case, any new bindings are extracted 
and passed back to the Lambda. 

The bindings are made in a stack 
that grows from the bottom up. The 
shift-register-like organization of the 
stack pointer makes for fast and flex- 
ible manipulations. For example, 



when unification succeeds and bind- 
ings have to be extracted for return 
to the Lambda, you can unwind the 
stack without losing its contents. This 
is important if you are performing 
more than one unification using the 
same set of bindings. Also, in cases 
such as failure of unification, the 
Lambda can instruct the SUM to 
relocate its stack pointer and adjust 
to an earlier context. 

Binding Agent- 
Custom CAMs 

The asterisks in figure I indicate the 
parts the SUM team feels have the 
most promise for VLSI implementa- 
tion. While the cache and various con- 
trollers have had some development, 
'The binding agent is the part that 
we've done the most work on and 
where there seems to be a tremen- 
dous amount of payoff for custom 
VLSI," according to Dr. Oldfield. 

Figure 2 is a simple block diagram 
of the binding agent. It has 4096 en- 
tries, each with a name composed of 
a 12-bit index and a 6-bit identifier. 
Associated with each name is a 40-bit 
expression and another 12-bit index. 
In other words, the binding agent re- 
quires a lot of RAM. Rather than inte- 

[continued] 



Unification on a Chip 



While many people have talked 
about putting unification on a 
chip, a computer science graduate stu- 
dent's attempt was the charge that 
galvanized the Syracuse team to seri- 
ously address the challenge. As a 
master's project in 1981 for Professor 
Jim Kajiya, Caltech student Sheue-Ling 
Lien— now Dr. Sheue-Ling Chang of 
Sun Microsystems— designed a chip 
that implemented Robinson's original 
1965 unification algorithm. She called 
it the UNlF-chip. 

Dr. Chang had been very interested 
in Prolog and realized that unification 
presented a bottleneck to efficient Pro- 
log execution. She decided that a uni- 
fication-chip coprocessor, combined 
with Caltech's strong interest in VLSI, 
was just what the doctor ordered. 



DARPA (Defense Advanced Research 
Projects Agency) sponsored the 
research. Dr. Chang designed the chip 
with the idea that many of them might 
be linked together to concurrently 
solve unification problems on different 
branches of a Prolog tree structure. 

About 18 months after the first design 
was complete, Chang and Kajiya 
discussed the possibility of taking some 
of the stack memory off the chip to 
make it small enough for actual produc- 
tion. They decided against it because 
Chang had become ensconced in her 
solid-modeling graphics Ph.D. work and 
didn't have time to completely redesign 
a chip. The paper disappeared into the 
Caltech library. 

Professor Kajiya says no one else at 
Caltech took up the challenge of silicon 



unification because they were waiting 
for better design tools. In his opinion, 
those tools haven't arrived yet. Still. 
when they do get here, he feels that 
putting complex tasks such as unifica- 
tion into silicon is "definitely the way 
to go." He points out that, while the 
past 20 years has seen much effort in 
improving algorithms, there is now 
evidence that sheer processing speed 
and power can accomplish more than 
was previously thought. Kajiya points 
to the championship chess-playing pro- 
grams, such as Belle (which has its own 
custom hardware) and Cray Blitz (for 
the Cray supercomputer), which exploit 
tremendous hardware power. Kajiya 
says that the success of these chess 
machines may "teach us that the 
eighties is the decade of brute force." 



174 B YTE • IUNE 1985 







Why people choose an IBM PC in the first place 
is why people want IBM service. ..in the first place. 



After all, who knows your IBM Personal 
Computer better than we do? 

That's why we offer an IBM maintenance 
agreement for every member of the Personal 
Computer family. It's just another example 
of blue chip service from IBM. 

An IBM maintenance agreement for your 
PC components comes with the choice of service 
plan that's best for you— at the price that's 
best for you. 

Many customers enjoy the convenience and 
low cost of our carry -in service. That's where 
we exchange a PC display, for example, at any 
of our Service/Exchange Centers. 



And for those customers who prefer it, we 
offer IBM on-site service, where a service repre- 
sentative comes when you call. 

No matter which you choose for your PC, 
an IBM maintenance agreement offers you fast, 
effective service. 

Quality. Speed. Commitment. That's why 
an IBM maintenance agreement means blue 
chip service. To find out more about the 
specific service offerings available for your PC, 
call 1 800 IBM-2468, Ext. 104 
and ask for PC Maintenance. —*^_» — _* 



Inquiry 217 



Blue chip service from 



THE SUM 



SEARCH _T~l 
MODE 




PULLED LOW 
F MATCH 
FAILS 



DATA 



DATA 



Figure 3: A 9-transistor associative-memory cell. By adding another 3 transistors to a 
basic 6-transistor static RAM cell you get a well-known but rarely used cell that is the 
basis of the custom CAM. This cell has a very attractive search feature: Every word in 
the memory can simultaneously be searched by a single read access that takes about 
100 nanoseconds. 




52b 



Figure 4: Ttoo parts of the binding agent: an associative-memory stack (left) and a 
conventional RAM (right). 



grating it all on custom silicon, Dr. 
Oldfield decided to use conventional 
memory chips wherever possible. 

A student's VLSI project on associa- 
tive memories gave Dr. Oldfield the 
clue to the fast table-lookup architec- 
ture he needed. An ideal CAM (con- 
tent-addressable memory) or AM (as- 
sociative memory) would allow you to 
simultaneously search all entries for 
a name, an expression, or both. As Dr. 
Oldfield states, "It's very, very much 
faster than you can do by software 
techniques" (see figure 3). Such a 
memory could even have wild-card 
fields. Dr. Oldfield split the binding 
agent into the two parts shown in 
figure 4: an AM stack (on the left) and 
a conventional RAM (random-access 
read/write memory) (on the right). 

To maximize the SUM'S perfor- 
mance, the designers squeezed as 
many variable names as they could 
onto the CAM chip. The result was 
128 entries of 128 rows by 17 bits. 
Each bit is implemented by a 
9-transistor AM cell. (If you recall that 
each name entry is composed of 12 
+ 6 - 18 bits, you are probably 
wondering what happened to I bit. 
The explanation is that it has been 
split off and indicates which of the 
two binding agents to use.) The sys- 
tem of 4096 entries requires 32 of the 
custom CAM chips. 

CAD Problems 

With a theoretical design for the bind- 
ing agent's CAM completed, the SUM 
team decided to make the largest pro- 
totype chip possible with its CAD fa- 
cilities. But as Dr. Oldfield admits, "At 
the time our CAD facilities were very 
rudimentary." Most of the powerful 
tools (mainly computer-aided design 
and test programs) are written in C for 
a UNIX machine but were too big to 
run on Syracuse's DEC PDP-I I . "It's a 
funny way to describe it." says Dr. 
Oldfield, "but you really have to have 
a VAX to do anything in this business. 
So we had to do all of our software 
locally." 

In fact, all of the students had to lay 
chips out in CIF (Caltech Intermediate 
Form). CIF is a low-level, machine- 

(contlnued) 



176 BYTE • IUNE 1985 



Trade-in Your New IBM* PC or XT* Keyboard and TlfuyuuU Your System . 



Key Tronic is 
Offering $ 50 for ¥)ur 

New IBM* PC or XT* Keyboard 

The reason why Key Tronic is having a special $50 trade-in offer is because we want you 
to get the most from your IBM PC or XT! 

Buy a KB 5151 and send us your unused IBM PC or XT keyboard, and Key Tronic will 
send you $50\ 

Type on the KB 5151 and feel the difference! Then take one home. 




Enter 

Convenient 



Regular Key 
Legends Rather 
than Symbols, 



Status Lights on 
"Lock" Keys. 



"Shift" & 
"Return" Keys are 
in familiar 
Typewriter 
locations. 



Separate Cursor 
and Editing Keys. 



Separate Numeric 
Pad is Great for 
Spreadsheets. 



Key Tronic is the world's largest 
independent manufacturer of full 
travel keyboards, and offers a 
complete line of integrated input 
devices. 

Take advantage of this limited 
time offer. Contact your local 
dealer or call 1-800-262-6006 today! 



*IBM and XT are registered trademarks of IBM Corporation 



"CfeeltkKeyTmnifJouch " 

key tronic 

1 he Responsive Input Company 

Spokane, Washington 

509-928-8000 



Inquiry 236 



A©* 




<*> 



#- 















r *<&&&« 



4* O 



"vf, 



'S/X??* 



••V 






^^v^-vv 



&* 






THE SUM 



readable, layer-description language 
that, as Dr. Oldfield describes, is 
"painfully" written out by hand. For- 
tunately, Syracuse now has a set of 
tools from the University of Washing- 
ton running on a borrowed VAX and 
is installing its own VAX. 

The experimental prototype has all 
the features of the full-scale CAM 
chip. However, instead of having 128 
rows of 17 bits, it has only 8 rows of 
3 bits. According to Dr. Oldfield, it was 
"a very ingenious student named Ser- 
Hou Kuang" who designed the 8 by 
3 prototype memory. Kuang worked 
out a stretched version of the 9-tran- 
sistor cell that was as long and thin as 
possible, yet still met MOSIS design 
rules. (MOSIS— Metal-Oxide Silicon Im- 



plementation System— is a nonprofit 
intermediary organization affiliated 
with the University of Southern Califor- 
nia and DARPA that accepts prototype 
chip designs from universities, govern- 
ment agencies, and others, and ar- 
ranges to have those designs fabri- 
cated by Silicon Valley manufacturers.) 
Referring again to his group's poor 
CAD facilities, Dr. Oldfield said, "In 
fact I would claim this is sort of a 
record. This must be about the most 
complicated chip anybody's every 
designed with such poor aids." 

The University of Rochester, which 
had better CAD facilities, helped by 
running a design rule check on the 
chip. The design was then submitted 
to MOSIS and the sample chip shown 




Photo I: Prototype content-addressable memory chip used in the SUM'S binding 
agent. 





















INPUT BUFFER 




AM CELL 1 | 


WORD 
LINE 
BUFFER 


ROW 
SELECT 


ADDRESS 

LINE 

BUFFER 


MASK 
REGISTER 


ADDRESS 
ENCODER 




8 ROWS OF 3 | BITS 


OUTPUT BUFFER 





















Figure 5: The 8 by 3 prototype associative memory. 



The prototype has all 
the features of the 
full-scale CAM chip. 



in photo I was fabricated. Figure 5 is 
a floor plan for the prototype. 

All of the chips functioned except 
for one problem: The address en- 
coder didn't work. As Dr. Oldfield 
remembered, "You could write to the 
memory, you could search on it, you 
could find the pattern you were look- 
ing for, and you could read stuff out 
of the memory Everything worked 
functionally except it never set the ad- 
dress lines properly" 

Finally, after using a mask-extraction 
program called MEXTRA, the SUM 
team found a faulty part of the circuit. 
A depletion transistor was always on 
because it was connected by a length 
of diffusion to ground and had no 
gate. Apart from that trivial design 
mistake, the prototype chips per- 
formed excellently and proved the 
SUM concepts. 

In December 1984, the full-size pro- 
totype design was finished and wait- 
ing for final design check. Assuming 
it works, the SUM team is thinking 
about the next phase, producing 
quantities of the chip. Dr. Oldfield 
points out that university work often 
"leads to just one chip" and that it is 
"interesting to find a case where you 
can usefully use a significant number 
in an operation." 

Possibilities 
for the Future 

A negative aspect of the SUM con- 
cerns its overall impact on AI. Even 
if unification takes up a full 60 percent 
of a LISP machine's time, an infinitely 
fast SUM could speed up the overall 
process only by a factor of slightly 
better than 2. Coprocessors in other 
circumstances sometimes speed pro- 
cessing on the order of hundreds of 
times. As Dr. Oldfield freely admits, 
this is "not the same story at all." 
Looking down the road, Dr. Oldfield 

[continued) 



178 6 YTE • IUNE 1985 




The new Bubble- Jet 
Printer from Canon. 
Feature for feature, 
you can't burst our bubble. 







1 A 



Canon w«§§ 




Canon's exclusive bubble-jet 
technology has rewritten the 
industry's standards in four 
categories. Speed, quality, 
quietness and economy. 

The Bubble-Jet Printer with 
bi-directional logic-seeking 
capabilities can quickly and quietly 
turn even the most complicated 
printing job into a breeze. It prints 
out 80 characters per line at an 
ultra-fast 220 characters per 
second. And its whisper quiet 
operation prevents your nerves 
from rattling. 

If you're heavy into word 
processing, you'll be glad to know 
that the Bubble-Jet Printer's 
characters have character. The 
Near- Letter-Quality mode produces 
a whirlwind 1 10 characters per 
second. And you can choose from 
condensed, enlarged, superscript 
and subscript printing. 

And since a picture says a 
thousand words, the new 

©1985 Canon U.S.A.. inc. 



Bubble-Jet Printer from Canon 
has two different high resolution 
graphic image modes, including 
a remarkably clear 1440 dots 
per line. 

The Bubble-Jet Printer also 
incorporates a large capacity ink 
cartridge. So you can produce a 
small mountain of printouts before 
you need to replace the cartridge. 

What's more, it can feed in roll 
paper, fan fold paper or single 
sheets with equal ease. And the 
Bubble-Jet Printer is IBM 
compatible. Plus it gets along well 
with most popular software 
programs. 

If you're interested in speed, 
quality, quietness and economy, 
look into the lightweight, compact 
Bubble-Jet Printer from Canon. 
Because feature for feature, you 
can't burst our bubble. 



Canon 



Inquiry 72 



PRINTERS 



For more information: call 1-800-323-1717, ext. 300. (In IL, call 1-800-942-8881, ext. 300.) 
OrwriteCanon U.S.A., Inc., Printer Division, P.O. BoxCN 11250, Trenton, NJ 08650. 




EMS1 



IBM SYSTEM SPECIALS 

256K, 2 Drives $Call 

256K.1 Drive & 10 MB Hard $Call 

COLUMBIA MPC 4220. $1899 

CORONA 400 Series SCall 

FUJITSU Micro 16s (8086/ZBOA) $1995 




KAYPRO All Models SCall 

LEADING EDGE PC SCall 

MORROW DESIGNS All Models. . . SCall 

NCR All Models SCall 

NEC APC-III PACKAGES 
w/2 Dr, Wordstar Pro Pk, 2050 . . $2299 

w/plotter. digitizer & AutoCAD . . . SCall 

SEEQUA Chameleon/ Plus. ..... SCall 

WANG 

PCw/256K,2Dr $Call 

Office Assistant w/printer SCall 

ZENITH 

ZF-151 -52 w/Zenith Monitor. . . . SCall 

ZF-151-21 w/10 MB Hard Disk. . . $Call 

ZF-161 -52 (Portable, 2 Dr) SCall 

BLUE LYNX 3278 SCall 

DCA Irma/lrmaline/lrmakey SCall 

IDEAcomm3278 SCall 

ANCHOR Mark XII $245 

HAYES 

Smartmodem 1200/2400 . . $Call/$649 

1200B w/Smartcom II $399 

NOVATION SmartCat Plus $329 

PRENTICE POPCOM 

C100/X100 $289/$299 

VEN-TEL 300/1200 Half Card . . . $409 




AST RESEARCH INC. 

ADVANTAGE! (for AT) SCall 

SIX PACK PLUS W/64K SCall 

jrCOMBO (exp. to 512K) SCall 

HERCULES Graphics Card $299 

Color Card (RGB/Comp/Par) . . . $155 

INTEL 8087/80287 SCall 

ORCHID PC Turbo (80186.8MHz) $815 
PARADISE SYSTEMS Multi-Display $280 

Modular Graphics Card $269 

Module A/B $75/$179 

PLANTRDNICS Color Plus SCall 

QUADRAM 

EXPANDED QUADBOARD W/64K . $239 

QUAD 512+ W/384K $309 

SIGMA DESIGNS Color 400 

/Mouse $Call 

STB SYSTEMS Graphix Plus II. . . $269 

Super Rio w/64K $279 

TALL TREE JRAM-2 SCall 

TANDDNTM 100-2 (DSDD) .... $149 

TEAC FD-55B (Thinline DSDD) . . $125 

TECMAR Graphics Master $485 

Captain w/OK $179 

jrCaptain w/128K $309 



Genlech 



■;n:ii^:i 



MONITORS & TERMINALS 



AMPEX 20 MB w/25 MB Tape . . . SCall 

CORVUS 

11.1 MB Omnidrive Starter Kit ... $1649 

45 MB Omnidrive $4149 




DAVONG 21 MB w/24 MB Tape $2459 

IOMEGA Bernoulli/Plus SCall 

MICROSCIENCE Internal 10 MB. . $649 

MAYNARD ELECTRONICS SCall 

SYSGENImage/Oic-File/XL SCall 

TALLGRASS 

TG-5025 (25 MB w/60 MB Tape) $2899 
TG-6180(80MBw/60MBTape) $6399 



DOT MATRIX PRINTERS 



C-ITOH All Models SCall 

CITIZEN 

MSP-10 . . $329 MSP-15 . . $489 

MSP-20 . . . SCall MSP-25 . . . SCall 




EPSON JX-80 Color $499 

LQ-1500. . $910 LX-80 . . . $239 

FX-80+ . . $349 FX-100+ . . $495 

NEC P2/P3 Pinwriters. , . . $525/$735 

OKIDATA 

192/193 . . . SCall ML 84 P . . . SCall 

Okimate 20 . SCall Pacemark . . SCall 

PANASONIC KX-P1091/1093 .... SCall 

STARMICRONICS 

Gemini 15X. $345 SG-10/15. . . SCall 

SD-10/15. . . SCall SR-10/15. . . SCall 

TOSHIBA 

P1340 . . . $575 P351 SCall 

BROTHER/OYNAX 

HR-15 XL (20 CPS) $369 

HR-25/HR-35 $Call/$859 

HEWLETT-PACKARD Laser Jet. . . SCall 
DIABLO 630 ECS/IBM $1799 

JUKI 6100/6300 . $409/$730 

NEC 

ELF 360 . . $415 2050 .... $669 
3550. . . . $1069 8850. . . . $1499 
QUME Sprint 1140/1155/1190 .... SCall 
SILVER-REED EXP 500/550 $369/$449 
STARMICRONICS Power Type . . $339 



PLOTTERS & DIGITIZERS 



LETTER QUALITY 



POLAROID PALETTE. . $1175 

ENTER COMPUTER Six Shooter. . $779 




HOUSTON INSTRUMENTS 

PC-695. , , $549 OMP-41/42 $2349 

DMP-29 . . $1799 DMP-51/52 $3529 

DM1 Digitizer $679 

ROLAND DXY-800/880 . . . $699/$949 
SUMMAGRAPHICS SummaSketch SCall 



AMOEK 








Video 300/300A/310A $129/139/159 


Color 500/711 





.... $359/$579 


PRINCETON GRAPHICS Max-12E . 


$175 


HX-12/SR-12 




.... $469/$609 


QUME All Models . . 




. SCall 


ROLAND 








MB-122G . 


$155 


MB-142 . . 


. SCall 


CB-141. . , 


$269 


CC-141. . . 


$559 


TAXAN 








115 


$115 


116 


$125 


420/L . . . 


SCall 


440 


$559 


TELEVIDEO All Models 


. SCall 


WYSE 








WY-50 . . . 


$469 


WY-350 . . 


. SCall 


ZENITH 








ZVM-123A. 


$79 


ZVM-124. . 


. SCall 


ZVM-135. . 


$439 


ZVM-136. . 


. SCall 


Z-29A . . . 


SCall 


Z-49 


. SCall 



FOR APPLE ll/Ile 



ALS Smarterm II (80 Col. Card) , . $1 29 
AST RESEARCH INC. Multil/O. . . SCall 
DIGITAL RESEARCH CP/M GoldCard $269 
FOURTH DIMENSION 16K RAM Card. $55 

80 Column Card (lie) $55 

HAYES 

Micromodem lie w/Smartcom I . . $149 

MICROSOFT Softcard II $339 

MICROTEK Dumpling GX $69 

NOVATION Apple Cat II $209 

212 Apple Cat II (1200) $389 

ORANGE MICRO Grappler+ .... $79 

Buffered Grappler+ $145 

PCPI Applicard 6 MHz SCall 

RANAEIitel/ll/lll SCall 



MISCELLANEOUS 






RAM CHIPS 






64K SET . . . $20 256K SET 


. . SCall 


DOUBLE -SIDED DISKETTES 




3M $27 Dysan . . 


. . $30 


Maxell .... $25 Wabash . 


. . $19 


PRINT BUFFERS 




OUADRAM Microfazer 




Parallel/Parallel 16K. . . , 


. $139 


64K .... $185 128K. . . 


. $239 


Serial/Serial. Ser/Par, Par/Ser 




8K $139 64K . . . 


. $159 


INTER .STRUCT. Shuffle- 




Buffer 32K 


. $269 


SURGE PROTECTORS 




EPD/CURTIS All models 


. . SCall 


NETWORX Wire Tree/ Plus. . . . 


S45/S60 


ULTIMA SF-600 


. . $39 


EMERGENCY POWER SYSTEMS 




SOLA Mini UPS 


. . SCall 


TrippLite BC425-FC (425 Watts) 


$375 


SWITCHBOXES 




CABLECO 3 Way Serial/Parallel . 


. . SCall 


COMPUTER ACCESSORIES 




Data Directors (All Models) . 


. . SCall 


CUSTOMER SERVICE 1 



401-781-0020 

mmm 



800-843-4302 



150 Broadway, Suite 2212, NY, NY 10038 

HOURS 9-B EST. MONDAY-SATURDAY 
Personal Ck (2 Weeks To Clear), Cashier's Ck, 
MoneyOrder 
APO Orders Add 6% (minimum $7). Add 3% 
For Net Terms. All Returned Non-Oefective 
Merchandise Are Subject To A 20% Restocking 
Charge. GenTech Reserves the Right to Change 
Advertised Prices. 



9 AMlltlCAM 
( IXKRLS5, 



l MoitrCffd 


1 wsj- 



THE SUM 



sees the SUM shrinking. He says that 
while "this overall machine's not a 
chip, at the beginning we sort of 
hoped to have a chip." As it turns out, 
each binding agent comprises at least 
32 chips. But the chips are made ■ 
using a fairly conservative 4-micron 
NMOS (N-channel metal-oxide semi- 
conductor) process. MOSIS already is 
offering a 1.2 5-micron process that 
could substantially increase chip den- 
sity. And although it will be some 
years, Dr. Oldfield explains that "It's 
not unrealistic to think of the effect of 
higher packing density leading to 
SUM as a custom VLSI component." ■ 



REFERENCES 

1. Robinson, J. A. "A Machine-Oriented 
Logic Based on the Resolution Principle."' 
journal of the Association for Computing 
Machinery, 1965, vol. 12, pages 23-41. 

2. Mead, Carver, and Lynn Conway. Intro- 
duction to VLSI Systems. Reading, MA: 
Addison-Wesley, 1980. 

3. Clark. K. L.. and S. A. larnlund (edsj. 
Logic Programming. Orlando, FL: Academic 
Press. 1982.. 

4. Robinson, I. A., and E. E. Sibert. "Logic 
Programming in LISP." Syracuse Univer- 
sity: School of Computer and Information 
Science. 1980. 

5. Warren. D. H. Q. L. M. Pereira. and F. 
Pereira. "PROLOG-The Language and Its 
Implementation Compared with LISP." 
Proceedings of the Symposium on Artificial In- 
telligence and Programming languages (ACM): 
SIGPLAN Notices 12(8); and SIGART 
Newsletter 64. pages 109-115, 1977. 

6. Lien. Sheue-Ling. 'Toward a Theorem 
Proving Architecture." California Institute 
of Technology, Computer Science Depart- 
ment. 1981. 



ACKNOWLEDGMENTS 
I would like to extend special thanks to 
Professor John Oldfield and Professor 
Alan Robinson of Syracuse University, Pro- 
fessor Jim Kajiya and Paula Samazan of the 
California Institute of Technology, Dr. 
Sheue-Ling Chang of Sun Microsystems, 
and Dr. George Lewicki of the USC/Infor- 
mation Sciences Institute. They made this 
article possible by their willingness to 
spend some of their valuable time discuss- 
ing or digging up information for me. 
Melgar Commercial Photographers of 
Santa Clara, California, photographed the 
prototype chip. 



180 BYTE • IUNE 1985 



Inquiry 193 



SuperSoft Languages 

When Performance Counts 



A programmer's most 
important software tool is 
the language compiler or 
interpreter he uses. He has 
to depend on it to work 
and work well. 

At SuperSoft, we believe it. 
That's why we offer four 
excellent compilers: 
SuperSoft FORTRAN, 
SuperSoft A, SuperSoft C, 
and SuperSoft BASIC. They 
answer the programmer's 
need for rock solid, 
dependable performance 
on microcomputers. 



SuperSoft A 

A true Ada* subset 

SuperSoft A is a completely standard 
subset of the Ada language, incor- 
porating approximately 63% of the 
standard Ada syntax and including 
such important features as packages 
and separate compilation. For 
CP/M-80 microcomputers: $300. 

SuperSoft C 

SuperSoft C is a high-powered, full- 
featured C compiler designed for 
serious C applications. It is fast- 
both in compilation and execution, 
and it is packed with more than 200 
library functions (all delivered in 
source code form). SuperSoft C 
produces optimized assembly code, 
and object code can be ROMed. 

SuperSoft C (for CP/M-80, CP/M-86, 
MS DOS, PC DOS): $350 



SuperSoft 
FORTRAN 

With large code and data. 

SuperSoft FORTRAN version 2.0 
with large code and data space 
is now available under MS DOS 
and PC DOS. It gives you the 
power to compile extremely large 
FORTRAM programs on micros. 
It allows double precision and 
complex numbers, full EEE float- 
ing point, and a full range of other 
important features for the serious 
FORTRAM programmer. Both 
8087 support and a RATFOR pre- 
processor are optionally available. 
FORTRAM (CP/M-80 & 86, MS 

DOS, PC DOS): $325 
8087 support: $50 RATFOR: $100 



To order call 800-762-6629 

In Illinois call 217-359-21 12 



In conjunction with SuperSoft, SuperSoft FORTRAN was developed by Small Systems Services, 
Qrbana, 1L, a leader in FORTRAN development. 

Japanese Distributor: ASR Corporation International, TBL Building, 7th Floor, 1-19-9 Toranomon, 
Minato-Ku. Tokyo 105, Japan Tel. 03-5025550. Telex 222-5650 ASRTYO J. 

'Ada is a trademark of the Department of Defense 
PC DOS is a trademark of International Business Machines. 
MS DOS is a trademark of Microsoft 
CP/M-80 and CP/M-86 are trademarks of Digital Research, Inc. 

Inquiry 397 





SuperSoft 
BASIC 

The SuperSoft BASIC compiler Jets 
you get serious with business and 
financial programs. It uses BCD 
math to give you highly accurate 
results for demanding applications. 
SuperSoft BASIC is a true native 
code compiler that is generally 
compatible with Microsoft's BASIC 
interpreter. And an additional 
bonus -no run time license fee is 
required. 

SuperSoft BASIC Compiler (for 
MS DOS, PC DOS, and CP/M-86): 
$300 

Also available for programmers: 

Star-Edit, a full-featured 

programmer's text editor: $225.00 
Disk-Edit, an invaluable 

programmer's disk data editor: 

$100.00 



SuperS ft 

SuperSoft, Inc., 1713 S. Neil St., 
P.O. Box 1628, Champaign, IL 61820 



IUNE 1985 • BYTE 181 



THE WORLD'S LARGEST COMPUTER MAIL ORDER FIRM 



#B20 






§. 



§. 



( TELEX 910 380 3980 ALL MAIL: 1 2060 SW Garden Place, Portland, OR 97223 ) 

FOR YOUR APPLE 



MACINTOSH 




COMPUTERS 



^ippkz 



BUSINESS SOFTWARE UTILITIES SOFTWARE 



lie, lie, Mac, Mac XL 



IN STOCK, CALL 



ASSIMILATION PROC, Turbo Touch $ 129 $ 92 
BLUECHIP, Millionaire, Barron, Tycoon, ea. $ 60 $ 39 
CENTRAL POINT, Copy II Mac or MacTools, ea. $ 40 $ 24 
CONROY-LA POINTE, Diskettes, 10 pak $ 65 $ 29 

50 pak Diskettes S 325 $ 140 

CONTINENTAL, Home Accountant S 100 $ 65 
CREATIVE SOLUTIONS, MacForth Level I $ 149 $ 95 
CREIGHTON, Home Pak or Mac Office, ea. $ 39 $ 26 

Mac Spell + $ 99 $ 63 

DESKTOP, 1st Base $ 195 $ 125 

DOW JONES, Market Manager Plus S 249 $ 159 
EXPERTELLIGENCE, ExperLogo S 150 $ 95 
FIRST BYTE, Smooth Talker $ 150 $ 95 

FORETHOUGHT, Fact Finder $ 150 $ 95 

HAYDEN, Sargon III $ 50 $ 31 

Music Works $ 80 $ 50 

HUMAN EDGE, Sales or Mgmt Edge, ea. $ 250 $ 159 

Mind Prober $ 50 $ 32 

INFOCOM, Hitchhiker's Guide $ 40 $ 25 

INNOVATIVE, Flip-n-File, 40 $ 30 $ 1 

KOALA, Mac Vision $ 400 $ 229 

LIVING VIDEOTEXT, Think Tank $ 145 $ 85 
LOTUS, Jazz $ 595 $ 395 

MEGAHAUS, Megafiler $ 195 $ 125 

Megaworks or Megamerge, each $ 125 $ 79 
MICROSOFT, Business Pak NEW $ 595 $ 395 

Multiplan, Word, or File, each $ 195 $ 129 

MILES, Mac the Knife, v. 1 $ 39 $ 25 

MONOGRAM, Dollars & Sense $ 150 $ 95 

NOVATION, Smaitcat Plus Modem w/Software$ 499 $ 349 
ODESTA, Helix $ 395 $ 

PENGUIN, Graphics Magician $ 50 $ 32 

PROVUE, Overvue S 295 $ 185 

SIMON & SCHUSTER, Typing Tutor III S 50 $ 30 
SOFTW. PUBL., PFS: File & Report Combo $ 195 $ 125 
SOFTWARE ARTS, T/K Solver $ 249 $ 159 

STATE OF THE AHT, Electronic Checkbook $ 80 $ 50 
STONEWARE, DB Master $ 195 $ 125 

TELOS, File Vision $ 195 $ 125 

WARNER, Desk Organizer $ 149 $ 99 



FLOPPY DISK DRIVES 




list C0NR0Y 


MICRO-SCI, A2 Disk Drive, 143K 


$ 345 $ 185 


A2 Controller Card 


$ 100 $ 60 


Half Height Drive for lie 


$ 269 $ 189 


Half Height Drive for lie 


$ 299 $ 199 


RANA, Elite I, 163K, 40 Track 


$ 299 $ 189 


Elite II, 326K, 80 Track 


$ 499 $ 369 


Elite Controller 


$ 145 S 79 



HARD DISKS 



QUARK, QC10 for llc/lle/lll/MAC 



OTHER HARDWARE 



CCS, 7711 or 7710- A Interface, ea. $ 115 $ 85 

CPS/EASTSIDE, Wild Card II (copier, 1 1 + /lie) $ 140 $ 99 

COMX, 80 Col. + 64K RAM Card (lie) $ 199 $ 99 

16K RAM Card (II + ), 1 yr ltd wty $ 119 $ 29 

HAYES, Mach ll/lll Joystick (II +/lle) CALL 

KENSINGTON, System Saver Fan $ 90 $ 65 

KEY TRONIC, KB200 Keyboard $ 298 $ 188 

KOALA, Muppet Keys $ 80 $ 49 

Touch Tablet w/Micro Illustrator (lle/llc) $ 125 $ 75 

KRAFT, Joystick (ll/ll + /lle) $65$ 35 

Game Paddles (ll/ll+/lle) $50$ 26 

MICROSOFT, Premium Softcard (He) $ 395 $ 275 

ORANGE MICRO, Buffered Grappler Plus, 16K $ 239 $ 159 

16K Buffer Board for Grappler Plus $ 99 $ 59 

PCPI, Applicard, 6 MHz, 14 features $ 375 $ 250 

RH ELECT., Super Fan II w/surge protector $ 89 $ 59 

TITAN, Accelerator lie $ 319 $ 219 

128KRAMCard(ll + ) $ 269 $ 189 

TRACKHOUSE, Numeric Key Pad (II +/lle) $ 149 $ 94 

TG, Select-a-Port $ 40 $ 26 

Joystick or Game Paddles, each $ 35 $ 22 

VIDEO 7, V Color 7, lie, RGB Card $ 200 $ 139 

V Color 7, lie, RGB Card $ 250 $ 169 

VIDEX, UltraTerm (II + /lie) $ 379 $ 229 

VideoTerm 80 Col. Card (II +/lle) $ 279 $ 175 

WICO, Smartcard (spec. Il/ll+/lle) $ 199 $ 159 



LIST C0NH0Y 

ALS, Word or List Handler, ea. S 80 S 36 

Handler Pak (Word/List/Spell) S 170 $ 73 

ASHTON-T ATE, dBase ll(RegCP/M80) $ 495 $ 289 

BPI, AR, AP. PR or INV, each $ 395 $ 240 

BRODERBUND, Print Shop $ 50 $ 29 

Print Shop Graphics Library $ 25 $ 1 

Bank St. Writer or Speller, ea $ 70 $ 45 

Bank St. Combo (Writer & Speller) $ 140 $ 85 

CDEX, for Visicalc, Multiplan, Apple He, ea. $ 60 $ 40 

DOW JONES, Market Manager Plus $ 249 $ 159 

Market Analyzer or Microscope, ea. S 349 $219 

HOWARD SOFT, Tax Preparer for'84taxes $ 250 $ 1 65 

Kit for California $ 95 $ 63 

HUMAN EDGE, Sales or Mgmt Edge, ea. $ 250 $ 165] 

LIVING VIDEOTEXT, Think Tank $ 145 $ 

MECA, Managing Your Money $ 200 $ 125 

MEGAHAUS, Megawriter $ 100 $ 65 

Megaworks $ 125 $ 80 

MICRO PRO, WordStar $ 350 $ 189 

WordStar w/ Starcard $ 495 $ 265 

WordStar Professional, 4 Pak S 495 $ 265 

MailMerge, SpellStar, or Starlndex, ea S 99 $ 54 

InfoStar and StarCard Combo $ 595 $ 295 

MICROSOFT, Multi-Plan (Ap DOS) $ 95 $ 69 

QUARK, Word Juggler &Lexicheck (lle/llc) $ 189 $ 129 

SENSIBLE. Sensible Speller $ 125 $ 79 

SIERRA/ON-LINE, Homeword $ 50 $ 45 

Screen Writer II, 2 Pak w/Dictionary $ 130 $ 79 

SOFTWARE PUBL, PFSfile or Write, each $ 125 $ 79 

PFS:Graph or Report, each $ 125 $ 79 

STONEWARE, DB Master, v. 4 $ 350 $ 225 



LIST C0NR0Y 
PRICE PRICE 
EPSON, Graphics Dump $ 15 $ 7 

FUNK, Sideways S 60 $ 37 

HAYES, Terminal Prog, for Smartmodem $ 99 $ 65 
MICROSOFT, Full Line in Stock CALL 

OMEGA, Locksmith $ 100 $ 70 

PENGUIN, Complete Graphics System II $ 80 $ 49 
Graphics Magician $ 60 $ 40 

QUALITY, Bag of Tricks $ 40 $ 29 

UNITED SWI, ASCII Express-Trie Pro S 130 $ 82 
UTILICO, Essential Data Duplicator III $ 80 $ 49 



HOME & EDUCATIONAL 



BEAGLE BROS., Full line IN STOCK CALL 

BRODERBUND, Print Shop $ 50 $ 29 

CONTINENTAL, Home Accountant $ 75 $ 43 

DOW JONES, Home Budget $ 99 $ 69 

KOALA, Full line IN STOCK CALL 

MICROSOFT, Typing Tutor II $ 25 $ 17 

MONOGRAM, Dollars & Sense or S. A.M. ,ea $ 100 $ 59 

Dollars & Sense for He $ 120 $ 69 

Forecast . $ 60 $ 38 

SCARBOROUGH, Mastertype $ 40 $ 27 

Your Personal Net Worth S 80 $ 50 

SIERRA/ON-LINE, Homeword $ 50 $ 45 

SIMON & SCHUSTER, Typing Tutor III $ 50 $ 33 

PLUS: BARRONS, CBS, DAVIDSON, EDU-WARE, 
HARCOURT, LEARNING CO., TERRAPIN 



RECREATIONAL SOFTWARE 



UTILITIES SOFTWARE 



BEAGLE, GPLE, Alpha Plot or B.Basic, ea $ 50 $ 27 
Pronto DOS, Disk Quick, Ap.Mech.orl.O. Silver, ea $ 30$ 19 
Full line IN STOCK CALL 

BORLAND, Turbo Pascal $ 55 $ 33 

3 Pak (Pasc, Turbo Tut, Toolbox) NEW $ 105 $ 59 

CENTRAL POINT Copy II Plus (bit copier) $ 40 $ 23 



BLUECHIP, Millionaire, Squire, Barron, ea. $ 
DATASOFT, Aztec or Zaxxon, each $ 
ELECTRON. ARTS, Sky Fox & others, ea. $ 



HAYDEN, Sargon III (Chess) $ 

INFOCOM, Zork I, II, or III, ea $ 

ORIGIN, Ultima III $ 

PENGUIN, Transylvania $ 

PROFESSIONAL, Trivia Fever $ 
SPINNAKER, IN STOCK CALL 

SUB LOGIC, Flight Simulator II $ 50 $ 3C 

PLUS: BRODERBUND, DATAMOST, MUSE, 
SIR-TECH 



DISKETTES 



• CONROY-LAPOINTE m DISKETTES * 

We guarantee these top quality products with our name. 
5 YEAR LIMITED WARRANTY. Discounts on orders vwb labels. 

10 ea. SS/SD, (Apple, etc) 35 Trk, W/FLIP BOX $ 12 

1 e a . SS/SD, (Apple, etc) 3 5 Trk $ 99 

1000 ea. SS/SD, (Apple, etc.) 35 Trk $ 840 

10ea.DS/DD,(IBM,H/P)48Trk,W/FLIPBOX $ 15 

100 ea. DS/DD. (IBM, H/P) 4 8 Trk $ 1 1 9 

1000 ea. DS/DD, (IBM, H/P) 48 Trk $ 859 

10 ea. DS/DD, 3V 2 " (MAC, H/P), W/FLIP BOX $ 29 

50 ea. DS/DD, 3V 2 " (MAC, H/P) $ 140 

100 ea. DS/DD, 3V 2 " (MAC, H/P) $ 270 

CONROY-LAPOINTE"' IBM PRE-FORMATTED 

10 ea, DS/DD, 48 Trk W/FLIP BOX $ 19 

100 ea, DS/DD. 48 Trk $ 149 

1000 ea, DS/DD, 48 Trk $ 959 

SINGLE-SIDED, DOUBLE DENSITY 

LIST C0NR0Y 
CDC, 10 ea, SS/DD, 40 Trk (Apple, etc) $ 55 $ 19 
DYSAN, 10 ea, SS/DD, (Apple, etc.) $ 40 $ 27 
MAXELL, 10 ea, SS/DD, MD1 (Apple) $ 55 $ 19 
VERBATIM, 10 ea, SS/DD, MD51541, (Apple) $ 4 9 $ 25 

DOUBLE-SIDED, DOUBLE DENSITY 

CDC, 10 ea, DS/DD, 40 Trk (IBM, H/P) $ 75 $ 23 
DYSAN, 10 ea, DS/DD, (IBM. H/P) $ 69 $ 35 
MAXELL, 10 ea, DS/DD, MD2 (IBM) $ 75 $ 26 
VERBATIM, 10 ea, DS/DD, MD34 (IBM) $ 84 $ 29 

3V4" MICRO DISKETTES 

CONROY-LAPOINTE, 10ea, DS/DD (MAC, H/P) $ 29 

MAXELL, 10 ea. SS/DD (MAC, H/P) $ 60 $ 35 

MEMOREX, 10 ea. SS/DD (MAC, H/P) $ 60 $ 35 

VERBATIM, 10 ea. SS/DD (MAC, H/P) $ 65$ 35 

HIGH DENSITY DISKETTES FOR IBM-AT 

MAXELL, 10 ea. DS/QD (IBM-AT) $ 77 $ 49 
MEMOREX, 10 ea. DS/QD (IBM-AT) $ 84 $ 54 

• GENERIK DISKETTES • 

Top quality, w/jackets. no labels. Quantity discounts. 

90 day "No hassle, money back guarantee." 
100 ea. SS/DD, 35 Track (Apple, etc) $ 80 

100 ea, DS/DD, 48 Track, (IBM, H/P) $ 95 



MODEMS 



ANCHOR, Signalman Mark XII (IBM) $ 399 

HAYES, 2400B External Modem (IBM) $ 899 

Smartmodem 1200B (IBM) $ 549 

Smartcom II Software (IBM) $ 149 

Smartmodem 1200 (AP or IBM) $ 599 

Micromodem He w/Smartcom (AP) $ 329 

KENSINGTON, Portable Modem, 300 Baud (MAC) $ 140 

NOVATION, Apple Cat II 300 Baud (AP) $ 389 

212 Apple Cat. 1200 Baud (AP) $ 725 

SmartCat Plus w/software (MAC) $ 499 

ACCESS 1-2-3 1200B Modem+Crosstalk (IBM) $ 595 

PROMETHEUS, 1200 Standalone Modem $ 495 

ProModem 1200 w/software (MAC) $ 549 

ProModem 1200A (AP) $ 449 

ProModem 1200B (IBM) $ 399 

QUADRAM, Quadmodem, Internal (IBM) $ 595 

Quadmodem, External, (IBM) $ 695 



PRINTERS 



C0NR0Y 

$ 259 

$ 699 

$ 389 

$ 107 

$ 429 

$ 239 

" 109 

219 

419 

349 

369 

345 

429 

$ 349 

$ 289 

$ 425 

$ 495 



MONITORS 



AMDEK, Color 300 - Comp/Audio $ 349 $ 249 
Color 500 - Comp/VCR/RGB/ Audio $ 525 $ 375 

Color 600 - Hi Res/RGB/Audio $ 599 $ 449 

300A - 12" Amber $ 199 $ 139 

300G, 12" Green $ 179 $ 129 

310 A, 12" Amber/Comp $ 230 $ 159 

PRINCETON, HX-12 - Hi Res/RGB $ 795 $ 495 

SR-12 - Hi Res/RGB $ 799 $ 599 

MAX- 12 - Amber (monochrome) S 249 $ 199 

ZENITH, ZVM122 - 12" Amber $ 159 $ 95 

ZMV123 - 12" Green $ 149 $ 89 

ZMV124 & ZVM 135 20-30% OFF 



DOT MATRIX: 

LET 

EPSON, RX /FX Series - In Stock 

LX80 - 100 cps DQ/16 cps NLQ $ 349 

JX80 - Color Printer, 160 cps. $ 799 

LQ1500 - 200 cps DQ/67 cps LQ $1395 

MANN.-TALLY, Spirit-80 - 80 cps/80 col $ 269 

OKIDATA, Okimate 20 - Color, Hi Res $ 268 

182-120 cps/80 col $ 299 

92 - 160 cps/80 col/para. $ 499 

93 - 160 cps/136 col/para. $ 799 
2410 Pacemark - 350 cps/para. $2995 

PANASONIC, P1090 - 80 cps/10" $ 349 

P1092 - 180 cps/10" $ 599 

QUADRAM, Ouadjet -Inkjet Color $ 895 

STAR MICRO, SG10 - 120 cps DQ/30 cps NLQ $ 299 

SG15 - 120 cps DQ, 30 cps NLQ, 16K $ 499 

SD10 - 160 cps DQ, 40 cps NLQ $ 449 

SD15 - 160 cps DQ, 40 cps NLQ, 16K $ 599 

SR10 - 200 cps DQ, 50 cps NLQ $ 649 

SR15 - 200 cps DQ, 50 cps NLQ, 16K $ 799 



C0NR0Y 
CALL 
CALL 
CALL 
CALL 
$ 219 
$ 208 
$ 239 
$ 399 
$ 639 
$1975 
$ 249 
$ 459 
$ 395 
$ 249 
$ 419 
$ 379 
$ 509 
$ 549 
$ 679 



PRINTER INTERFACES 
AND BUFFERS 



ARBO, IBM-PC to Para Printer Cable $ 60 
ASSIM PROC, Mac to Epson Conn l/F $ 89 
EPSON, Parallel Interlace for LQ1500 $ 100 

Serial Interface Board $ 130 

MPC, Apple II l/F & Cable forEpson & Gemini $ 95 
OKIOATA, Rug 'n Play, Tractors, Okigraph, ea. $ 50 
ORANGE MICRO, Grappler Plus for Apple $ 149 

Serial Grappler $ 119 

Buffered Grappler Plus, 16K $ 239 

QUADRAM, Mi crof azers. full line IN STOCK 

Microfazers 8K, P-P, w/copy $ 189 



C0NR0Y 




$ 30 




$ 69 




$ 79 




$ 105 




$ 59 




$ 42 




$ 99 




$ 79 




$ 159 




CALL 




$ 139 





CABLES 



LETTER-QUALITY: 

JUKI, 6300 - 40cps/para. $ 995 $ 795 

6100 - 18 cps/para/3 pitch $ 599 $ 439 

PANASONIC, P3151 - 22 cps/15V 2 " $ 699 $ 549 
TOSHIBA, Prop, spacing & hi-res graphics: 
1351 - 192 cps DQ & 100 cps LQ S1B95 $1375 
1340 - 144 cps DQ & 54 cps LQ $ 995 $ 659 
Bi-direction Tractor Feed S 195 $ 175 

PLOTTERS: 

EPSON, 4 Pen Plotter $ 599 CALL 

PRINTER SUPPLIES: 

Paper: White, Colored, Laser Cut, etc; 
Ribbons, Daisy Wheels 



ARBO, IBM-PC to Modem Cable $ 29 $ 19 

IBM-PC to Para Printer Cable $ 60 $ 30 

ASTAR, RF Modulator for T.V. (Apple) $ 35 $ 20 

CURTIS, Monitor Extension Cable (IBM) $ 50 $ 35 

3'-9' Keyboard Extens. Cable (IBM) $ 40 $ 30 

RCA, Monitor Cable $ 15 $ 9 



ACCESSORIES 



CURTIS, Diamond, 6 outlets, switched $ 50$ 29 



60 $ 
90 $ 
80 $ 
45 $ 
70 $ 
$ 100 $ 
$ 60 $ 



Emerald , 6 outlets, 6' cord 

Ruby, 6 outlets, 6' cord, filter 

Sapphire, 3 outlets, w/filter 
EPD, Lemon, 6 outlets/wall 

Lime, 6 outlets/cord 

Orange, 6 outlets/cord 

Peach, 3 outlets/wall 
INNOVATIVE, Flip-n-File 50 (disk holder) $ 22 $ 
KENSINGTON, Masterpiece (IBM) $ 140 $ 

System Saver Fan (Apple) $ 90 $ 65 

Printer Stand S 30 $ 20 

NET WORX, Wiretree, 4 outlet, w/filt & surge $ 70 $ 39 

Wiretree Plus $ 100 $ 59 

PERFECT DATA, Head Cleaning Kit $ 16 $ 12 
PROD TECH INTL., UninterruptablePower Supply 

200 Watts, PC200 for IBM-PC $ 359 $ 229 

300 Watts, XT300 for IBM-XT $499 $ 379 

800 Watts, AT800 for IBM-AT, 72 lbs. CALL 



r 



CONROY- 
LAPOINTE 
CREDIT CARD 

Send me a Cortroy-LaPomte 

credit application form, so I 

can get cash discount prices 

with credit card 

convenience. S400 

purchase. 



Minimum ini 



CITY STATE 

MAIL TO: T206O SW Garden Place, 



ZIP 
Port/and, OR 97223 



HDnCDIMr 1 IMTA O TCDRflC" MAIL TO: 12060 SW Garden Place, Portland, OR 97223 - Include telephone number. Check 
v/nL/EZflllMvl I IM I \J (X I CniVIO- your figures tor Shipping, Insurance and Handling (SIH). All items usually in stock. NO C.O.D. 
Cashiers checks, money orders, Fortune 1000 checks and government checks honored immediately. Personal and other company checks -allow 20 days to clear. Prices reflect 
3% cash & Conroy-LaPointe Credit Card discount, so ADD 3% to above prices for VISA/MasterCard/American Express. Your cards NOT charged til we ship. Add SIH CHARGES: 
U.S. Mainland, 3% ($5 minimum) for standard UPS ground; UPS Blue, 6% ($10 min); for U.S. Postal APO or FPO or Alaska, 6% ($10 min). Canada, 12% ($15 min). Foreign 
orders except Canada, 18% ($25 min). Monitors by Postal or to foreign countries, 30% ($50 min). Orders received with insufficient SIH will be refunded. All prices, availability 
and specifications subject to errors or change without notice, so call to verify. All goods are new, include warranty and are guaranteed to work. Due to our low prices and 
our assurance that you will get new, unused products-ALL SALES ARE FINAL. We do not guarantee compatibility. Call before returning goods for repair or replacement. 
ORDER DESK HOURS -6AM to 6PM PST, Monday through Friday, Saturday 10 to 4. EconoRAM'*, Fastrak™, and Generic are trademarks of ComX Corporation. 



Inquiry 113 for Apple. Inquiry 1 1 4 for IBM Peripherals. Inquiry 1 1 5 for all others. 




#B20 



ORDER, CALL (800) 



FOR YOUR IIM-PC, XT, AT or JR 



COMPUTER SYSTEMS OTHER HARDWARE OTHER HARDWARE 



— Call for Details — 

256K IBM - PC 



360K 

Disk Drives 

by CDC 




COmPAd Portable. 

256K. 2 360K Disk Drives 



^~~~ Z150, 

256K. 2 320K Disk Drives. 

MS DOS 2.1. 8088 Chip. 2 S/P 



HARD DISKS & 
TAPE BACKUP 



KAMERMAN, Internal 10 meg kit $ 895 $ 749 
External 10 meg kit w/power $1295 $1049 

MF-10/10, H Disk, tape back, cont. power $2295 $1 795 

MICRO SCIENCE, 10 meg w/controller $ 895 $ 689 

RANA, External 10 meg w/controller $1495 $1095 
Internal 10 meg w/controller $ 995 $ 689 

TALLGRASS, 25 meg disk, 55 meg tape, intf. $3660 $31 60 



FLOPPY DISK DRIVES 



CDC, Limited 30 day warranty; Call for quantity prices 

Full Height $129 

Half Height $109 

MAYNARD, Controller Card w/para port $ 300 $ 185 
Controller Card w/serial port $ 310 $ 195 

Sandstar Cont Card (accepts 3 modules) $ 265 $ 205 

PERFECT DATA, Head Cleaning Kit $ 16 $ 12 



LIST 
PRICE 
AST, 

SixPak Plus, 64K 

SixPak Plus, 256K, S/P/CC + S/W $ 695 
SixPak Plus, 384K, S/P/CC + S/W S 895 
Game Port for SixPak $ 50 

Preview'" Graphics Card w/para, 64K $ 399 
Advantage" Multif. Bd. for AT, 128K $ 595 
I/O Plus II, S/P/CC $ 215 

I/O Plus II, S/P/CC/G $ 265 

I/O Plus II, 2S/P/CC/G $ 315 

Port Kits • ser, para, or game, ea. $ 50 
MonoGraphPlus"' P/CC (for Lotus) $ 495 
COMX, NEW 

ECOnORAM™ PIUS.384Kto 1.5 meg. 

board, S/P/CC/G Fastrak & Spooler 

EconoRAM"', full 384K board $ 295 

HAUPPAGE (HCW), 8087 Chip $ 175 

8087 Math Pak (Chip & softw.) $ 295 

HAYES, Mach II Joystick $ 45 

Mach III (PC or Jr.) $ 55 

HERCULES, Color Card w/para. $ 245 

Mono Graphics Card $499 

KENSINGTON, Masterpiece" $ 140 

PC Saver" Line Cord w/Filter $ 50 

KEY TRONIC, KB5151, Std. Keyboard $ 255 

KOALA, Speed Key System $ 100 

Speed Key Tablet w/software $ 200 

Koala Pad w/PC Design $ 150 

MAYNARD, SAND STAR SERIES 

Multifunction (6) Card $ 89 

Memory Card no RAM $ 199 

Memory Card 256K $ 495 
Floppy Cont. Card (accepts 3 modules) $ 265 

Hard Disk l/F Module $ 499 

Hard Disk Cable $ 30 

Serial Port Module $ 95 

Para or Clock Cal. Module, ea. $ 59 

Game Adapter Module S 49 

Memory Module, OK $ 122 

Memory Module 256K $ 422 



C0NR0Y 
PRICE 

$259 

$ 395 
$ 465 
$ 39 
$ 299 
$ 445 
$ 150 
$ 185 
$ 215 
$ 39 
$ 375 



$265 

$ 195 

$ 129 
$ 235 
$ 29 
$ 35 
$ 169 
$ 329 
$ 99 
$ 35 
$ 195 
$ 63 
$ 115 
$ 89 

$ 79 
$ 139 
$ 395 
$ 205 
$ 399 
$ 27 
79 
49 
43 
99 



$ 

$ 
$ 
$ 
$ 357 



LIST C0NR0Y 
PRICE PRICE 

MICROSOFT, Mouse (for PC) $ 195 $ 135 

Serial Mouse $ 195 $ 135 

MOUSE SYSTEMS, PC Mouse & Paint $ 295 $ 140 

PARADISE, Modular Graphics Card $ 395 $ 285 
Parallel or Serial Port, ea. $ 95 S 65 

PERSYST, NEW 
PC/Mono Board, w/para port $ 250 $ 195 

PC/Color Graphics Bdw/light pen & l/F $ 244 $ 176 
BOB Board Color Adapter, hi res. $ 595 $ 465 

QUADRAM, 

Quadboard 64K, to 384K, s/p/cc/g $245 

Quadboard, no RAM, expand to 384K$ 295 $ 225 
Quadboard 256K, to 384K, S/P/CC $ 395 $ 295 
Quadboard, 384K (full), S/P/CC/G $ 795 $ 495 
Quadboard II, no RAM, to 256K $ 295 $ 215 
Quadboard II, 64K, to 256K, 2S/CC $ 395 $ 265 
Quadboard II, 256K, 2S/CC $ 595 $ 395 

Quad 512 + 64K w/serial port $ 325 $ 245 

Quadcolor I, board, 4 colors $ 295 $ 195 

Upgrade Quadcolor I to II kit $ 275 $ 1 99 

Quadvue, board, Mono, S/P/CC $ 345 $ 269 
Quad 3278 $1195 $1050 

Quadnet VI $2295 $1545 

Quadnet IX $1995 $1745 

Quadlink $ 495 $ 385 

Quadsprint $ 645 $ 495 

TG PRODUCTS, Joystick $ 45 $ 29 

WICO, Smartboard Keyboard $ 400 $ 279 



• * FOR YOUR PCJR* * 



KEY TRONIC, KB5151 Jr. Keyboard $ 255 $ lab 

Numeric Keypad $ 100 $ 77 

KOALA, Touch Tablet for Jr. $ 125 $ 75 

MICROSOFT, Booster 128Kw/Mouse$ 495 $ 339 

MOUSE SYSTEMS, Mouse (for Jr.) $ 195 $ 125 

QUADRAM, Expansion Chassis S 695 $ 540 

Memory Expansion Board (128K, P/CC) $ 275 $ 215 

TECMAR, Jr. Captain $ 395 $ 325 



• 256K* 
CHIP KIT 



9 Each. 4256 chips 
150 ns 




9 Each. 4164 chips 
90 Day Warranty by us 

$14 ea. 

10 or more 



• ComX • 'O) 



EconoRAM Plus" 



% 



$265 



384K Multifunction RAM Board 
expandable to 1.5 Megabyte 

works like AST SixPakPlus™ with 

capacity for up to 1.5meg, game port, 

Fastrak 1 " RAM Disk and Spooler Software. 



EconoRAM™ 384K 
Single Function Board 



$195 



With Fastrak™ and Spooler. 

Fully Compatible. 1 Year Limited Vterranty. 

WorksonD0Sl.1.2.0or2.1 

Prices and availability subject to change. Call 



SOFTWARE FOR YOUR IBM-PC, XT, AT or JR 



BUSINESS 



BUSINESS 



BUSINESS 



UTILITIES 



, 



LIST 

PRICE 

ASHTON-TATE, Framework $ 695 

dBase III $ 695 

dBase II, (req. PC-DOS & 128K) S 495 

ATI, Training Programs— Large Inventory $ 75 

BPI, General Acctg. AR, AP. or PR, ea. $ 595 

BRODERBUND, Bank St. Writer (PC or Jr.) $ 80 

CDEX, Training Programs-Large Inventory $ 70 

CONTINENTAL, Ultrafile (PC) $ 195 

Tax Advantage (PC or Jr.) $ 70 

Property Management (PC) $ 495 

DATA TRANS., Fontrix NEW $ 125 

DOW JONES, Investment Evaluator $ 149 

Market Manager Plus $ 249 

Market Analyzer or Market Microscope $ 349 

Spread Sheet Link $ 249 

FOX & GELLER, Quickcode III $ 295 

HARVARD, Total Project Manager $ 495 

HOWARDSOFT, Tax Preparer '85 $ 295 

Kit for California $ 125 

HUMAN EDGE, Mind Prober (PC or Jr.) $ 50 

Sales Edge or Management Edge, ea. $ 250 

Negotiation Edge S 295 

KENSINGTON, Easy Link Mail Manager $ 95 

LIFETREE, Volkswriter Deluxe $ 295 

LIVING VIDEOTEXT, Think Tank S 195 

LOTUS, 1-2-3 $ 495 

Symphony $ 695 

MDBS, Knowledgeman $ 500 

MECA, Managing Your Money (PC) $ 195 

Managing Your Money Cartridge (Jr) $ 199 



C0NR0Y 
PRICE 
$ 349 
$ 359 
$ 289 
$ 50 
$ 365 
$ 49 
$ 45 
$ 115 
$ 40 
$ 295 
$ 75 
$ 

$ 159 
$ 219 
$ 159 
$ 185 
$ 295 
$ 195 
S 83 
$ 32 
$ 159 
$ 185 
$ 59 
$ 159 
$ 105 
$ 309 
$ 465 
$ 300 
$ 125 
$ 179 




LIST 
PRICE 

MICROPRO, WordStar (PC) $ 350 

WordStar (Jr) % 195 

WordStar 2000 (copiable) S 495 

WordStar 2000 Plus (copiable) $ 595 

WordStar Professional Plus $ 695 

WordStar Professional, 4 Pak $ 495 

MailMerge, SpellStar or Starlndex. ea. $ 99 

InfoStar Plus ( + Starburst) $ 595 

Correct Star $ 145 

MICRORIM, RBase Clout $ 195 

Extended Report Writer $ 150 

RBase Series 4000 (New Version) $ 495 

MICROSOFT, Spell $ 50 

Multiplan (PC or Jr) $ 195 

Chart or Project, each $ 250 

Word $ 375 

MONOGRAM, Dollars &$ense w/Forecast $ 180 

MULTIMATE, Multimate Ver. 4.0 $ 495 

PEACHTREE, Back to Basics $ 395 

Peach Pak (GL/AR/AP) $ 395 

QUE, Using 1-2-3 $ 15 

1-2-3 for Business $ 15 

Using Symphony $ 20 

SAMNA, Word Plus $ 695 

Word III $ 550 

SATELLITE, WordPerfect (PC) $ 495 

WordPerfect (Jr) $ 69 

SOFTW. ARTS, Spotlight $ 150 

TK Solver (specify DOS) $ 399 



C0NR0Y 
PRICE 
$ 169 
$ 115 
$ 295 
$ 325 
$ 395 
$ 265 
$ 54 
$ 315 
$ 77 
$ 139 
$ 95 
$ 25! 
$ 3! 
$ 125 
$ 159 
$ 235 
$ 99 
$ 295 
$ 239 
$ 225 
$ 12 
$ 12 

i 439 

$ 279 

$ 235 
$ 45 
$ 95 
$ 269 



LIST 
PRICE 

SOFTWARE PUBL. PFS:Report $ 125 

PFS:File $ 140 

PFS:Write $ 140 

PFS:Graph $ 140 

PFS:Pian $ 140 

PFS:Proof or PFS:Access, each $ 95 

SORCIM, SuperCalc 111 $ 395 

STONEWARE, Advanced DB Master $ 595 

TH0RNEMI, Perfect Pa k (Jr) (Write/S petlfThesaurus) $ 1 39 

WARNER, Desk Organizer (PC or Jr) $ 195 



C0NR0Y 
PRICE 
$ 79 
$ 89 
$ 89 
$ 89 
$ 89 
$ 59 
$ 245 
$ 375 
$ 89 
$ 125 



LIST C0NR0Y 
PRICE PRICE 
MICROSTUF, Crosstalk XVI (PC or Jr) $ 195 $ 129 
MOUSE SYSTEMS, PC Paint $ 99 $ 69 

NORTON, Utilities (14 prgms) $100$ 65 

ROSESOFT, Prokey $ 130 $ 79 

WESTERN UNION, Easy LinkMail Mngr $ 95 $ 59 



HOME & EDUCATIONAL 



99 S 
75 $ 



UTILITIES 



BORLAND, Sidekick or Toolbox, ea. $ 55 $ 31 
Sidekick (Copiable) (PC or Jr) $ 85 $ 50 

Turbo Pascal (PC or Jr) $ 70 $ 39 

Super Keys $ 70 $ 45 

3 Pak (Pascal, Turbo Tut, Toolbox) $ 105 $ 65 
CENTRAL POINT, Copy II PC $ 40 $ 23 

COMX, Fastrak™, RAM/Disk emulator & printer spooler. 

For any PC/DOS or RAM Card. Menu Driven $ 100 $ 59 

DIGITAL RES., CP/M-86"' (PC/XT) $ 100 $ 64 

CBASIC Compiler (CP/M86orPCD0S,ea)$ 600 $ 395 I 

DRLOGO-86 (CP/M-86) S 150 $ 99 

FUNK SOFTWARE, Sideways S 60 $ 37 

IBM, BASIC Cartridge (Jr) S 75 $ 69 

HAYES, Smartcom II (Data Comm.) S 149 $ 99 

LIFEBOAT, Lattice C $ 500 $ 250 

Dr. Halo $ 100 $ 50 

MICROSOFT, Macro Assembler $ 150 $ 99 

BASIC Compiler or C Compiler, ea $ 500 $ 259 

Business BASIC Compiler $ 450 S 300 

COBOL Compiler S 700 $ 459 

FORTRAN Compiler $ 350 $ 229 

PASCAL Compiler $ 300 $ 1 99 



BPI, Personal Accounting $ 

CONTINENTAL, Home Accountant (Jr) $ 

Home Accountant Plus (PC) $ 150 $ 

DOW JONES, Home Budget $ 139 $ 

KOALA, Graphics Exhibitor (Jr) $ 40 $ 

MONOGRAM, Dollars & Sensew/forecast S 180 $ 

SCARBOROUGH, MasterType(PCorJr) $ 40 $ 

Your Personal Net Worth $ 100 $ 

SIMON & SCHUSTER, Typing Tutor III $ 50 $ 

PLUS: BPI, CBS, COMPREHENSIVE, 
HARCOURT, PBL CORP. 



6c 
5$ 
9C 
92 
25 
9S 
25 
63 
33 

DAVIDSON, 



RECREATIONAL 



BLUECHIP, Millionaire. 8arron, Tycoon, ea. $ 60$ 39 

BRODERBUND, Large Inventory In Stock CALL 

ELECTRONIC ARTS, Large Inventory In Stock CALL 

HAYDEN, Sargon III (Chess) $ 50 $ 34 

INFOCOM, Large Inventory In Stock CALL 

Hitchhiker's Guide $ 40 $ 25 

Zork I, II, or III, ea. $ 40 $ 25 

MICROSOFT, Flight SimulatorfPCor Jr) $ 50$ 33 

ORIGIN, Ultima III (PC or Jr) $ 60 $ 39 

SIERRA/ON-LINE, Ultima II (PC or Jr.) $ 60 $ 40 

SPECTRUM HOLOBYTE, Gato $ 40 $ 25 

SPINNAKER, President's Choice, Amazon 

Fahrenheit, Rendezvous, Dragon, each $ 40 $ 25 



CASH-n-CARRY COMPUTER STORES, INC. 

Retail Sales only. Store prices may vary. 
SAN FRANCISCO — 550 Washington Street (at Mont- 
gomery, opposite the Pyramid). Interstale 80, to Highway 
480; take Washington Street Exit. CALL (415) 982-6212. 
PORTLAND, OREGON — At Park 217. Tigard at intersec- 
tion of Highways 217 and 99W. CALL (503) 620-5595. 
SEATTLE, WASH. — 3540 128lh Ave. SE, Bellevue 98006. 
In Loehmann's Plaza near Factoria Square. SE of Highway 
405 & 90 and at SE 36th and Richards. CALL 641-4736. 



<£52v> 



„4 



OUR REFERENCES: 

We have been in computers and electronics 
since 1958, a computer dealer since 1978 and in 
computer mail order since 1980. Banks: 1st Inter- 
state Bank, (503) 643-4678. We belong to the 
Chamber of Commerce (503) 228-9411, and Direct 
Marketing Association; call Dun and Bradstreet 
if you are a subscriber. Recipient of OREGON 
BUSINESS MAGAZINE'S 1984 Enterprise Award. 



(MasterCard) 





1 




C.irtl 



CONROY- 
LAPOINTE 
CARD 



NO SALES TAX 



CALL 
(800) 547-1289 

In Oregon: (800) 451-5151 



QUESTIONS 

(503) 620-9878 

Weekdays Only 



Foreign & 

Portland 

Residents Call 

(503) 620-9877 



ORDER DESK HOURS 

Mon-Fri 6am to 6pm (PST) 
Saturday 10am to 4pm (PST) 
(6 am here is 9 am in New York) 



INTRODUCING CONQUEST PC TURBO. ..... 

A COMPLETE AND POWERFUL COMPUTER SYSTEM 





FEATURES INCLUDE: 



• 16BitCPU 
With 256k Memory - 
Expandable to 1 Mega 
Bytes of Parity Checked 

• Built-in turbo 
Switchable, Dual Speed 
Operation Regular 4.7 
MHZ or High 
Performance 8 MHZ 

• Two 360k Slimline Disk 
Drives 

• Floppy Disk Controller 

• Video Adapter 

• Parallel and Serial l/O's 

• 130W Power Supply 
(110-220 Vac 
Convertible) 

• Enhanced Keyboard 



1 

r 



i iiiiiiiiiiiiiii 



i 

i 

i 



TURBO 



M / ; , , 



^HHHLlPP. ■ Jk§; 




Conquest PC Turbo supports standard industry operating systems: PC-DOS, MS-DOS, CP/M 86 and Concurrent 

CP/M Plus utilizes all of the applications software such as: Lotus 1-2-3, Symphony, Framework, 

DBASE II, Visicalc, Wordstar, Multiplan, Flight Simulator, and most of the popular IBM PC software products. 
For More Details Call or Write To: 




2640 Walnut Ave. Unit K Tustin, California 92680 (714) 838-7530 

184 BYTE • IUNE 1985 



IBM PC. is a registered trademark of IBM Corp, 

MS DOS, Flight Simulator & Multiplan are the registered 

trademark of Microsoft. Inc. 

Wordstar is a registered trademark of MicroPro. 

Multimate is a registered trademark of Multimate Intl. Corp. 

Visicalc is a registered trademark of Visicorp. 

Inquiry 442 for End-Users. Inquiry 443 for DEALERS ONLY. 



by David Ushijima 



Inside 
AppleTalk 



A closer look 



at Apple's new link 



In January Apple Computer Inc. 
unveiled its long-awaited 
AppleTalk local-area network 
(LAN), designed to let Apple 
and non-Apple products communi- 
cate and share information and 
resources. (See "The Macintosh Of- 
fice" by John Markoff and Phillip 
Robinson, February BYTE, page 120, 
for more information.) 

Physically, AppleTalk consists of a 
simple shielded twisted-pair cable 
called a trunk cable. You attach 
devices such as computers and pe- 
ripherals to the trunk cable using con- 
nection boxes (see figure 1). Each con- 
nection box contains two miniature 
3-pin connectors and a short length 
of cable terminating in a DB-9 connec- 
tor. With the connector modules join- 
ing the segments of the trunk cable, 
you can connect up to 32 devices to 
a single AppleTalk network over a 
total distance of up to 300 meters. In 
addition, you can interconnect a 
number of such networks using a 
special device called a bridge. 

Electrically, AppleTalk is an 
RS-422A balanced transmission line 
with a raw data-transfer rate of 230.4K 
bits per second. The data is sent over 
the bus in a synchronous format using 
a bit-oriented protocol based on the 



synchronous data-link control (SDLC) 
protocol. Currently, only the Macin- 
tosh has the hardware necessary to 
support this standard. 

Serial port B on the back of the 
Macintosh (the printer port) can be at- 
tached to AppleTalk. The circuitry re- 
quired to implement the AppleTalk 
protocols is entirely contained on the 
Macintosh's digital board. The heart 
of the serial interface is the Zilog 8530 
serial communications controller 
(SCC). This chip takes care of all the 
details necessary to send and receive 
data in the format required by Apple- 



Talk. The RS-422A drivers and 
receivers (26LS30 and 26LS32) pro- 
vide the balanced line interface to the 
bus. 

To allow IBM Personal Computers 
(PCs) to share resources and data with 
Macintosh office products, Apple is 
marketing an interface card for the 
IBM PC that will let it communicate 
via AppleTalk. While Apple has not 
announced an AppleTalk card for the 

[continued) 
David Ushijima (2600 Tenth St.. Berkeley, 
CA 94 7 10) is a technical editor at Osborne/ 
McGraw-Hill. 




ILLUSTRATED BY ANDREW SHACHAT 



JUNE 1985 -BYTE 185 



APPLETALK 



Apple II, it would be easy for the com- 
pany to add one. 

Configuring the Bus 

AppleTalk was designed specifically 
as a network for personal computers. 
As a result, it is extremely flexible and 
can be used in three ways: as a pe- 
ripheral bus, as a small LAN, or as a 
path to a large, complex network. 

As a peripheral bus, AppleTalk 
allows the implementation of so- 
called virtual slots. While you cannot 
expand the Macintosh by plugging in 
boards (as with the Apple He or the 
IBM PC), you can add devices via 
AppleTalk. Since the bus is fast 
enough to accommodate the connec- 
tion of devices such as hard disks, it 
provides the functional equivalent of 
slots— thus the term "virtual slots." 

Although the speed with which the 
Macintosh can access a device via 
AppleTalk is slower than that which 
could be obtained if you were to plug 
a controller card directly into a slot, 
the overall performance is still re- 
spectable (approximately 29K bytes 
per second). 



The LAN configuration of Apple- 
Talk is probably the most common for 
most small- to medium-size busi- 
nesses. In this configuration Apple- 
Talk is used to connect small clusters 
of computers so that they can ex- 
change information and share hard 
disks and high-speed printers (such as 
Apple's new LaserWriter). 

Devices that let computers share a 
resource are called servers. A file 
server lets users share files on a hard 
disk and a print server lets them share 
a high-speed printer. The LaserWriter 
and the as-yet unreleased file server 
are examples of servers. An LAN con- 
figuration is shown in figure 2. In this 
case, a node is any device connected 
to the bus. Thus, a node could be a 
Macintosh or an IBM PC with the 
proper AppleTalk interface card. 

One variation of the LAN configura- 
tion would allow a local AppleTalk 
network to serve as a path to a larger, 
more complex network such as GTE's 
Telenet. This would allow you to com- 
municate with computers that are 
located beyond the confines of the 
local area. 























MACINTOSH 




MACINTOSH 




PRINTER 






















r ■ 


— 1 1 - 


[ i 


1 


ZD<~ 


MODULE 


1 


1 i 1 -> 


1 — , 




1 


TRUNK CABLE— " 


HARD DISK 

























Figure I : The typical AppleTalk configuration. 



The most complex configuration of 
AppleTalk is that of a full-blown net- 
work such as the one shown in figure 
3. While AppleTalk was designed to 
accommodate a large number of 
computers configured in complex ar- 
rangements, most users will never 
have to deal with this level of com- 
plexity. Universities and large busi- 
nesses that need to incorporate a 
large number of personal computers 
into a unified network will be con- 
cerned with this configuration. 

The AppleTalk Architecture 

In the real world, the development of 
a network can be likened to the de- 
velopment of a telephone system. For 
communication to take place, you 
must have a connecting link, the tele- 
phone cable. Before you can lay the 
cable, you must have a set of plans 
that everyone agrees to follow. In the 
case of AppleTalk, the plans for the 
system consist of a set of rules or pro- 
tocols that a device such as the 
Macintosh or Lisa must follow in 
order to talk to other members of the 
network. 

The AppleTalk architecture consists 
of a set of well-thought-out rules that 
allow a wide range of devices to be 
connected together. Apple has de- 
signed the architecture to be an open 
system, that is, one in which outside 
or third-party developers are en- 
couraged to add to or modify the sys- 
tem according to their needs. Essen- 
tially, Apple is providing third-party 
developers with a set of tools that will 
allow them to connect their devices 
to the network and with a set of sug- 



MACINTOSH 



FILE SERVER 



n c=P- 



PRINT SERVER 



MACINTOSH 



MACINTOSH 



-CZ3 






COMMUNICATION 

SERVER 

(GATEWAY) 



TO MAINFRAME 
-*» OR 

REMOTE NETWORK 



Figure 2: AppleTalk configured as a local network. 



186 BYTE • JUNE 1985 



APPLETALK 



gested rules that will let them imple- 
ment various functions. Beyond the 
basic rules, developers are free to 
select and design their own protocols 
to add to what Apple supplies. 

The ISO Open Systems Model 

Tb understand the workings of Apple- 
Talk let's take a look at the ISO (Inter- 
national Standards Organization) 
Open Systems Model. The ISO was 
established to guide network devel- 
opers and promote compatibility be- 
tween networks. Since different net- 
works are designed with different 
goals in mind, one network may im- 
plement a number of features that are 
not necessary on another network. 
However, it is desirable to have com- 
patible networks. To promote compat- 
ibility, the ISO Open Systems Model 
defines what it calls "levels" or 
"layers" of a network. Each layer con- 
sists of a particular set of rules. The 
layers at the bottom of the network 
specify the most elementary or basic 
rules or protocols. Each successive 
layer, proceeding from bottom to top, 
adds a function or feature that 
depends on the mechanism defined 
in the layer below it. 

Because the Open Systems Model 
is based on logical rather than 
physical divisions, it can be somewhat 
confusing when you are trying to in- 
terpret how a physical system is ac- 
tually put together. To get a feel for 
how a model like this represents a 
process that occurs in the real world, 
consider the analogy of a telephone 
conference. 

Suppose you set up a conference 
call between members of different 
countries. For this to be possible, the 
basic telephone equipment must be 
compatible. Furthermore, everyone 
must agree to speak the same lan- 
guage. The participants must agree on 
a set of rules (formal or informal) 
detailing, for example, who may speak 
when, for how long, etc. Without this 
groundwork, the conference call 
could result in a melange of voices. In 
this example you can see several 
levels of protocol that must be in ef- 
fect for communication to take place. 

The ISO Open Systems Model con- 



BRIDGE 



BRIDGE 



BRIDGE 



TO 
•REMOTE 
BRIDGE 



Figure 3: An AppleTalk internet. 



APPLICATION LAYER 



PRESENTATION LAYER 



SESSION LAYER 



TRANSPORT LAYER 



NETWORK LAYER 



DATA-LINK LAYER 



PHYSICAL LAYER 



h 


4 ilf 










NAN 
PRO 


E-BINDI 
TOCOL (N 


MG 
BP) 
























APPLETALK TRANSACTION 
PROTOCOL (ATP) 
























DATAGRAM-DELIVERY 
PROTOCOL (DDP) 






















APPLETALK LINK-ACCESS 
PROTOCOL (ATLAP) 






















RS-422A 















ISO OPEN SYSTEMS MODEL 



APPLETALK CORE PROTOCOLS 



Figure 4: The ISO Open Systems Model and the AppleTalk core protocols. 

sists of seven layers: physical, data understand the workings of the sys- 

link, network, transport, session, pre- tern, it doesn't necessarily reflect the 

sentation, and application (see figure system's physical structure. Let's take 

4). While the model allows you to [continued) 



JUNE 1985 -BYTE 187 



JIV»'X»..r 8 . SPERRY PC COMPUTERS 

Mono Desktop 256K, 2 Drives, Serial Port, Par. Port, 

Clock, MSDOS 2.11, GWBasic plus Other Software 

Portable Computer 256K 2 Drives Full IBM Compatibility . 



Authorized Sperry 
Dealer 



$1650 
$1650 



DATA BASE 
MANAGEMENT SYSTEMS 

Fox and Geller Quickcode $125 

Fox and Geller QuickReport $140 

Knowledgeman $225 

K Report $135 

Condor III $289 

Tim IV $219 

DBase Manager II $165 

FRIDAY $159 

PFS File $78 

Nutshell $55 

RBase4000 $240 

CLOUT 2 $129 

Power Base $199 

WORD PROCESSING 

Wordstar Pro Pack $240 

Samna III $265 

Wordstar 2000 for IBM PC $238 

Wordstar 2000 + $285 

Leading Edge Word 

Processor/Merge $85 

Microsoft Word $225 

Word Perfect $219 

Word Plus Spell Checker $89 

Volkswriter DeLuxe $149 

Random House Spell Checker $36 

PFS Write $78 

Multimate $255 

Peachtext 5000 $185 

SPREADSHEETS 

Supercalc II $145 

Supercalc III $165 

Microsoft Multiplan $119 

!TK Solver $239 

ACCOUNTING 

BPI Accounting Each Module $349 



TCS. Big Four equivalent of Peachtree 
Series 4 - Specially augmented and 
customized for your IBM PC Terminal 
and Printer- GL, AR, PA, AP, CP/M-80, 
CP/M-86for PC XT, DOS 1.1, 2.0. 
Each Module ... $65 For All Four $249 



CYMA Call 

Dollars & $ence $95 

MBSI Accounting (Real World) Call 

Tobias Managing Your Money $99 

TRANSFER PROGRAMS 

Hayes Smartcom $85 

Move-it $79 

Microstuf Crosstalk $95 

Microstuf Transporter $150 



BEST PRICE IN U.S. 
FOR IBM PC OR CLONES 

Multifunction Board - Includes Async 
Adapter.Clock with battery back-up 
and Software, 64K memory 
expandable to 384K. 1 year 
warranty $189 



LANGUAGES 

Lifeboat Lattice C Compiler $265 

Run C Compiler $100 

Microsoft C Compiler $245 

Microsoft Pascal Compiler $180 

Microsoft Basic Compiler $235 

Microsoft Basic Language $225 

FOR PC DOS 

PC Paint Brush $85 

Norton Utilities $54 

Copy II PC $22 

Prokey V3.0 $69 

Total Harvard Project Manager . . . $255 

Microsoft Flight Simulator $32 

Think Tank $98 

HARDWARE 

ABC Printer Switch $85 

Hayes 2400 Call 

Hayes 1 200 Modem $395 

Hayes 1200b Modem for IBM PC . . $369 

64K RAM Chips (9) 150 NSEC $15 

Anchor Signalman 

1200 baud Modem $245 

lOmega Bernoulli 20 Megabyte . . . $2495 

Princeton RGB Monitor $459 

Taxan RGB Vision 425 $399 



Diskette Super Special! 

10 D/S D/D (Qty 100) $12.95 



COMPUTERS 

IBM Computer Call 

BOARDS FOR THE IBM PC 
OR LOOKALIKES 

Hercules Color Board with Par. Port.$149 

AST Six Pack $249 

384K Board with 256K $220 

Quadcolor I $185 

STB Graphics II Board $245 

Paradise Graphics Board $275 

New Quadram Multifunction Board . $225 
PRINTERS 



FREE! PRINTER SET SOFTWARE 

Purchase an Okidata, Epson or Gemini 
printer and receive at no charge a menu 
driven program to set print characteristics or 
to make your computer function as a correc- 
ting typewriter. Retail value $35. Available 
for most disk formats. 



Gemini SG/10 Call 

Okimate 20 Color Printer Call 

Okidata 182 $235 

Okidata 93P $569 

Okidata 84P $665 

Juki 6100 $389 

Juki 6300 $689 

Epson FX 80+ $335 

Silver-Reed EXP 400 $235 

Daisywriter 2000 $795 

Toshiba P351 $1175 

NEC, Diablo, C. Itoh Call 



TERMS: Prices include 3% cash discount. Add 3% for charge orders. Shipping on most items$5.00. 
AZ orders +6% Sales Tax. Personal check, allow ten (10) days to clear. Prices subject to change. 



Se habla Esparibi 



Call for programs not listed 



AREHOUS 



DATA 
PRODUCTS 



WAREHOUSE DATA PRODUCTS 

2701 West Glendale Ave., Suite 6, Phoenix, Arizona 85021 

Technical & Other Information (602) 246-2222 
TOLL FREE ORDER LINE 1-800-421-3135 



22$taiD 



APPLETALK 



a look at what each of the levels rep- 
resents. 

The lowest level is the physical link. 
This is simply a set of rules specify- 
ing the electrical and physical connec- 
tion between devices. The physical 
link specifies the cable connections 
and the electrical rules necessary to 
transfer data between devices. Typi- 
cally, the physical link corresponds to 
established interface standards such 
as RS-232C, RS-422A, or RS-423A. 

The next layer up is the data-link or 
link-access layer. This layer specifies 
how a device gains access to the 
medium specified in the physical 
layer. With a number of devices vying 
for access, this becomes an important 
issue. The data-link layer is also 
responsible for framing— that is, en- 
closing the data in the electrical 
equivalent of the envelope you use to 
mail your letters. Finally, this layer is 
responsible for addressing the 
envelope to the destination device on 
the link. 

The network layer is responsible for 
setting up a logical connection be- 
tween a source and a destination on 
the network. In a complex network, a 
source and a destination may not be 
directly connected by a single path. 
Rather, the path may consist of many 
subpathe. Thus, the network layer is 
responsible for routing the data over 
this path through the network system. 

The transport layer is responsible 
for guaranteeing that a message is 
correctly received. This is often imple- 
mented by having the receiving party 
return an acknowledgment upon 
receipt of a message from the send- 
ing party. 

While the first four layers are fairly 
well defined, the top three layers may 
vary depending on the network. Gen- 
erally, though, the session layer will 
allow two devices on the network to 
coordinate their actions (for example, 
one device accessing the files of an- 
other device). Messages at this level 
may consist of commands that allow 
one device to control another over 
the network. 

The presentation layer is responsi- 
ble for formatting data in such a way 

{continued) 



188 B YTE • JUNE 1985 



Inquiry 422 



POWERS CRWT SOFTWARE 

nual £m& 



NEVADA 



FORTRAN. 

DISKETTE & MANUAL 

I $29.95 



Nevada FORTRAN is based upon 

the ANSI-66 standards 

(FORTRAN IV) with some 

1977 level features. Advanced features Include: IF . . . THEN . . . ELSE 

statement; COPY (Include); CHAINing with COMMON; and TRACE 

debugging. Package includes a diskette, 214-page manual and 5 

sample programs. Included also is an 8080 assembler. Requires 48K 

RAM. 



NEVADA 

BASIC 



TM 



DISKETTE & MANUAL 



I $29.95 



With the built-in, full-screen 

text editor, you can easily 

develop t programs for 1/10 the cost 

of a comparable BASIC interpreter. What's more, Nevada BASIC has 

full Matrix operations, Single- and Multi-Line functions, and BCD 

math (no round-off errors). You getadisketteand a 220-page manual. 

Requires 48K RAM. ; 



NEVADA 

PILOT. 

DISKETTE & MANUAL 



I $29.95 



Nevada PILOT, written by Prof. 
John Starkweather, the language's 
creator, meets and exceeds all 
PILOT-73 standards. See the review in January 1983 MICROCOMPU- 
TING. This package includes a diskette, 131-page manual, and 10 
useful sample programs. 

WHY WAIT? ORDER YOURS TODAY! 

Satisfaction guaranteed— or your money back. If for any reason 
you're not completely satisfied, just return the package— in good 
condition— with the sealed diskette unopened, within 15 days and 
we'll refund your money. 

Checks must be in U.S. Dollars 
and drawn on a U.S. Bank. 

California deliveries add 6% or 
6.5% sales tax. 

SHIPPING AND HANDLING FEES: Add $4.00 for the first package or 
manual and $2.00 each additional. OVERSEAS: Add $15.00 for the 
first package or manual and $5.00 each additional. COD's: Add 
$4.00. 

WE WELCOME C.O.D.'s 






•l. 



ffl: .ffi : 



ELUS COMPUTING 



(415)753-0186 

ELLIS COMPUTING, INC, 
3917 Noriega Street 
San Francisco, CA 94122 



NEVADA 

COBOL 

DISKETTE & MANUAL 



I $29.95 



Nevada COBOL, based upon the 

ANSI-74 standards, has all the 

popular features. Powerful level 2 

features include: compound conditionals and full CALL CANCEL. 

This software package includes a diskette, 165-page manual, plenty 

of examples and 16 complete COBOL source code programs. 



NEVADA 

PASCAL 

DISKETTE & MANUAL 



Advanced features include: I £^9Cl Cl*% 

14-Digitprecision;BCDmath(no I *r mm^9w^9^m 

round-off errors); Floating point ^ r^ 

+ 63-64; TRACE debugging; Arrays up to 8 dimensions; 64K strings; 
External procedures; and Dynamic Module ioading. You get a 
diskette and a 184-page manual. Requires 60K ;RAM and one disk 
drive with at least 90K storage. 

NEVADA " 

EDIT. 

DISKETTE & MANUAL 

I $29.95 



Nevada EDIT, a full-screen, 
video-display text editor, is 
designed specifically for computer 
program text preparation. Nevada EDIT is completely user-change- 
able, can be configured to almost any terminal and takes up only 
12K of disk space. This package includes a diskette and 59-page 
manual. 
ALSO AVAILABLE: 

• EXTRA MANUALS $14.95 

• COBOL Application Packages, Book 1 $ 9.95 

• BIG PRI NT-Diskette , ., .$19.95 

The CP/M Operating System, an 8080, 8085, or Z-80 (8-Bit) micropro- 
cessor, and 32K RAM are required, unless otherwise stated above. 

WHEN YOU ORDER, PLEASE SPECIFY O NE OF THE 
FOLLOWING DISKETTE FORMATS: 

D 8" SSSD (Standard CP/M IBM 3740) 

5V4" Diskettes for: 

D Access/Actrix 

D Apple CP/M 

D DEC VT 180 

D DEC Rainbow 

□ Epson QX-10 

D Heath Hard Sector (Z-89) 

D Heath Soft Sector 

(Z-90,Z-100) 
D IBM-PC (Requires Z-80, 

Baby Blue II Card) 



D Kaypro Double Density (NCR) 

□ MicropolisModll 
NEC PC 8001 

North Star Double Density 
North Star Single Density 
Osborne Single Density 
Sanyo 1000, 1050 
Superbrain DD DOS 3.X 

(512 byte sec) 
Televldeo 
D TRS-80 Model 1 (BaseO Mapper) 

□ Xerox 820 Single Density 

CP/M is a registered trademark of Digital Research. Inc. Microsoft is a registered trademark of Microsoft 
Corp. TRS-80 is a registered trademark of Tandy Corp. Apple II is a trademark of Apple Computer, Inc. 
Osbor nets a re gistered trademark of Osborne Com puter Corp. Xe rox 820 is a trademark o f Xerox Corp. 
Kaypro rs a trademark of Nonlinear Sys. Heatn/Zenith is a trademark of Heath Corp. IBM is a registered 
trademark of International Business Machines, Corp. Nevada BASIC, Nevada COBOL, Nevada FOR- 
TRAN. Nevada PILOT, Nevada EDIT. Nevada PASCAL, and Ellis Computing are trademarks of Ellis Com- 
puting, Inc. © 1984 EllisCompuling, Inc. 



JUNE I985 -BYTE 189 



Inquiry 21 



Multi-user PC, 
single-user price. 

Introducing affordable PC expansion for IBM PCs. 

MicroSystems Executive Workstations transform your 
IBM PC into a multi-user, multi-processor system with shared 
data access and communication between users. And the 
Executive Workstation comes with everything you need: 
PG-on-a-card, terminal, cables, and software. So expand your 
PC, not your budget. Call MicroSystems International today. 






1/MicroSystems International Corporation An imor companv 

100 Pennsylvania Ave., Framingham, MA 01701 (617) 875-9700 TWX 710-346-0394 





□ Send more information 

□ My check for $10 is enclosed. Please send me a (circle one) black and white/color 
Demo for my IBM PC. 

D Please send me Bottomline V for ... Spreadsheet 

on the computer. My check for $295 plus $5 



for shipping and handling is enclosed. 



Name 

Company 
Street 



.Title _ 
.Phone 



City 
Maill 



State 



Zip 



T 



INSTANT FINANCIAL PICTURE! 

Corporate Financial Simulation Model on your IBM PC, XT or AT 
with Lotus 1-2-3, Multiplan, SuperCalc, VisiCalc or PeachCalc. 
Also available on most PC/M & all Apple 
systems. A $6,000 value for $295. 



Bottomline Y 



A Financial Decision Support System - budgeting, 

planning, analysis, and five-year forecasting. 

Now used nationwide by Peat, Marwick, Mitchell & Co. 

("Big 8" accounting firm). 



Fill out this card and mail for complete details, or call 1-800-828-7257, 
CA only 1-800-523-7201, or 714-476-2842 for UPS COD delivery. 




to: ILAR Systems, Inc. • 1300 Dove St., Suite 105 • Newport Beach, CA 92660 
Inquiry I95 for Dealers. Inquiry I96 for End-Users. 



2660 I 



APPLETALK 



that information sent from one device 
can be properly used by the receiv- 
ing device. For example, the presen- 
tation layer would translate a docu- 
ment into a form that could be under- 
stood and printed by the LaserWriter. 
Finally, the application layer ensures 
that data from an application running 
on one device is directly usable by an 
application running on another 
device. 

A Closer Look at Applet alk 

Figure 4 shows the relationship of the 
primary AppleTalk protocols to the 
ISO Open Systems Model. The five 
levels of AppleTalk represent what 
Apple calls the core protocols. These 
are the protocols that Apple will be 
providing for use by third-party devel- 
opers with computers such as the 
Macintosh and the Lisa. Since Apple- 
Talk was designed as an open system, 
developers are free to add to the 
basic set of protocols. Similarly, a de- 
veloper may choose to use only the 
bottom layers provided by Apple and 
institute its own higher-level protocols. 
For example, by using the services 
provided by Apple at the three lowest 
layers of the ISO model, a developer 
will still have the ability to send mes- 
sages, or "datagrams" in AppleTalk 
terminology. 

Let's take a closer look at the major 
protocols or services that Apple will 
provide. 

The Physical Link 

The lowest level or physical layer of 
AppleTalk is the shielded twisted-pair 
cable and the connection box. 
Through the use of the connection 
box, each node is coupled to the 
trunk cable with a transformer. Thus, 
a missing node or one that is unable 
to receive or transmit will not affect 
the performance of the bus. Also, 
transformer coupling provides ground 
isolation as well as protection from 
static discharge. The physical link of 
AppleTalk is also defined to be 
RS-422A-compatible. 

So far we have a cable and a set of 
pin definitions for the interface. Tb this 
we now add a method of bit encoding 

[continued) 



190 BYTE • ]UNE 1985 



Inquiry 220 for End-Users. Inquiry 221 for DEALERS ONLY. 



The fastest micro in the world 





No micro in its right mind would 
want a showdown with Pinnacle. 

Its awesome fire power is 
orovided by the superb Motorola 
58000 charging along at 12MHZ 
/vith no wait states (giving about 
3MIPS). 

And Pinnacle's ammo belt is just 
bristling with high powered options 
to give rapid fire to all seven users. 

P-System, Unix® CP/M-68K,® 
Mosys, BOS, Mirage, Tripos all obey 
instantly - along with their armies of 
applications. 



Up to 8 Megabytes of directly 
addressable RAM and 110 
Megabytes of Winchester storage 
dance when Pinnacle barks its 
sharp orders. 

Andtha t's just for starters. 
There's also the Pinnacle IX with 
TWO 68000's, DMA, and Memory 
Management hardware. Ideal for 
disk intensive operating systems 
like Unix® and Pick 



And a Pinnacle LX expansion 
chassis allowing nine 68000 
processors to network 56 users. 

A micro's gotta do what a micro's 
gotta do. 

And starting at under $4000 
Pinnacle's just the fastest there is. 

PINNACLE 

The accessible peak of performance 



US DISTRIBUTORS Pinnacle Systems Inc. 10410 Markinson Road, Dallas, Texas 75238. Tel. (214) 340-4941. Telex 88-8442 

ELECTRONIC MANUFACTURING/SERVICE Lamtech Electronics Corporation, 620 Easy Street, Garland, Texas. Tel. (214) 272-3504 

international systems GROUP ISG Pinnacle, Dallas, Texas. Tel. (214) 340-4941. (Distributor enquiries invited). 

VERTICAL market SYSTEMS VMS Pinnacle, Dallas, Texas. Tel (214) 340-4941. 

European distributors TDI Pinnacle Ltd, 29 Alma Vale Road, Bristol BS8 2HU England. Tel. (0272) 742796. Telex 444653. 

UNIX is a Registered Trade Mark of Bell Labs. CP/M- 68K is a Registered Trade Mark of Digital Research. Inquiry 327 



APPLETALK 



known as FM (frequency modulation) 
(see figure 5). With this method, 
there is at least one transition at the 
beginning and end of each bit. A cell 
representing a will contain an addi- 
tional transition in the middle of the 
bit cell. This technique allows the 
clock to be recovered using a phase- 
locked loop at the receiving end. 

The physical layer of AppleTalk 
defines a synchronous RS-422A bus 
upon which each succeeding layer 
can build. Notice that the physical 
layer only provides for a series of I s 
and Os to be sent over the bus. The 
rules governing how a node gains ac- 
cess to the bus and how the Is and 
Os are to be interpreted are left to 
higher levels of the architecture. 

The Data Link 

In the AppleTalk architecture, the 
data-link layer uses the AppleTalk link- 



access protocol (ATLAP). There are 
three functions implemented in the 
ATLAP: framing, bus-access control, 
and node addressing. 

To send a message, a device must 
have some way of putting the mes- 
sage into the equivalent of an 
envelope. In the terminology of a net- 
work, an envelope is called a frame. 
ATLAP specifies a frame that is based 
on a bit-oriented message; that is, 
messages are sent as pure sequences 
of bits, not as individual characters. 
The ATLAP frame is shown in figure 6. 

The ATLAP frame consists of three 
parts: the header, the data, and the 
check field. At the beginning of each 
header are two flag bytes (hexadeci- 
mal 7E), followed by a single byte 
destination and source address speci- 
fying the node number of the source 
and destination. This is followed by a 
type field used to specify the type of 




Figure 5: An example of FM modulation. 



frame. ATLAP frames may be one of 
two types: control or data. 

ATLAP uses control frames for its in- 
ternal functions such as assigning ad- 
dresses to nodes and controlling ac- 
cess to the network. A control frame 
is indicated by a type field value from 
128 to 255 (hexadecimal 80toFF) in 
the ATLAP type field. Values from I 
to 127 (hexadecimal 01 to 7F) indicate 
a data frame. 

In a data frame, up to 600 bytes of 
user data (provided by the higher- 
level protocols) can follow the ATLAP 
header information. ATLAP control 
frames do not contain a data field. 
Finally, following the data field is a 
16-bit frame-check character used to 
ensure the validity of the data in the 
frame. 

The second function of the ATLAP 
layer, controlling who gets access to 
the bus and when, is of fundamental 
importance because up to 32 dif- 
ferent devices may be trying to talk 
on a single AppleTalk network at the 
same time. Suppose you have the 
configuration shown in figure 2. in this 
case you have many devices or nodes 
vying for access to the bus. In the real 
world, that's like having several peo- 

[continued) 



ATLAP 
HEADER 



DESTINATION ADDRESS 



SOURCE ADDRESS 



LAP TYPE FIELD 



DATA FIELD 

{UP TO 600 BYTES) 



FRAME CHECK 
CHARACTER 



APPLETALK 
LINK-ACCESS 
PROTOCOL 
(ATLAP) 




LAP TYPE FIELD =1 



DATAGRAM LENGTH 



DESTINATION SOCKET* 



SOURCE SOCKET 4 " 



DDP PROTOCOL TYPE 




DATAGRAM DATA 
(UP TO 586 BYTES) 



DDP PROTOCOL TYPE =3 



COMMAND/CONTROL 



BIT MAP/SEQUENCE NUMBER 



TRANSACTION ID 



TRANSACTION ID 



ATP DATA 



DATAGRAM 
DELIVERY 
PROTOCOL 
(DDP) 



APPLETALK 
TRANSACTION 
PROTOCOL 
(ATP) 



DATA-LINK 
LAYER 



NETWORK 
LAYER 



TRANSPORT 
LAYER 



Figure 6: The ATLAP packet format, DDP packet format, and ATP packet format. 



192 BYTE • JUNE 1985 



TeleVideo is 
the multiuser system 

for companies 



•who expect to grow 







Growing companies need a compu- 
ter system that wiU grow right along 
with them. Simply and economically. 

A computer system that lets 
people communicate and share 
resources. Even work on the same 
file simultaneously. 

The TeleVideo® Personal Mini™ 
Family is that system. 

Runs PC, mini and 
multiuser software* 

With the TeleVideo Personal Mini, 
users of IBM® or TeleVideo PCs, 
XTs, and portable computers can 
share data, as well as expensive 
peripherals, like printers and plotters. 

The Personal Mini dramatically 
increases computing power. So it not 



The TeleVideo Personal Mini Family 



only runs PC software, but also 
hundreds of popular, fast mini- 
computer and multiuser programs. 
Without destroying your established 
PC environment. 

And, unlike less advanced net- 
works, the Personal Mini never 
sacrifices performance or speed 
regardless of how many workstations 
are on line. 

Build on your original 
PC investment* 

Even our system expansion costs 
are substantially less than what you'd 
pay to add new IBM PCs. And your 
original investment in hardware, 
software and personal computer 
education is never lost. 



Your TeleVideo dealer has the 
Personal Mini. Arrange to see it today 
by calling toll free, 800-521-4897. 
In California, call 800-821-3774. 
Ask for operator 10. 

The TeleVideo Personal Mini. 

The growing business computer. 

Regional Sales Offices: Northwest 
(408) 971-0255, Southwest (714) 476-0244, 
Southcentral (214) 258-6776, Midwest 
(312) 397-5400, Southeast (404) 447-1231, 
Mid- Atlantic (703) 556-7764, Northeast 
(617) 890-3282, East (516) 496-4777, Rocky 
Mountain (714) 476-0244. 



^eV^vdeo 



Systems 



foJ'elfMdeo Systems, Inc. 
IBM is a registered trademark of International Business Machines 

IUNE 1985 -BYTE 193 



APPLETALK 



pie on a party line all trying to make 
a call at the same time. You need 
some way of controlling who can use 
the line and when. 

In AppleTalk, the method used to 
resolve this contention problem is 
called CSMA/CA (carrier-sense multi- 
ple-access with collision avoidance). 
When two devices try to talk at the 



same time, a collision occurs. When 
a collision is detected, each sending 
device must back off or wait some 
predetermined amount of time before 
trying again. 

One method to avoid collisions re- 
quires each device to listen to the bus. 
If a device hears some activity on the 
bus, it knows that the bus is busy, and 



is 
ss 



M ill . 



Graphics Takes A 
Quantum Leap Forward! 



.... 



Si 




THE I NOV ION PERSONAL 
GRAPHICS SYSTEM FEATURES: 

• The most advanced color mapping 
capabilities available. 

• 250,000 simultaneously displayable 
colors. 

• A palette of 2.1 million colors. 

• Frame Grabber/Digitizer to capture 
TV, VCR or Video Camera pictures. 

• Quality three-dimensional texture 
capabilities. 

• Built-in Icon/Menu software. 

• Completely Mouse/Trackball driven. 

• Fonts, Brushes, Microscope, Pat- 
terns, and Rotations. 



• A complete stand alone system. 

• A 19" enhanced color monitor. 

• 780K Graphics Memory. 

• 512x480 pixel display with 24 bits 
per pixel. 

• RS232C port allows access to all 
system functions and memory. 

• NTSC composite video and NTSC 
RGB signal. 

• 1-year warranty on graphics genera- 
tor and 90-day warranty on 
enhanced monitor. 

• Special introductory 30-day satis- 
faction guarantee. 

• Complete system for $4,495 
■HHHHHH 



■■ETCHES 






8 



When two devices try 
to talk at once, 
a collision occurs. 



it waits until the bus is free before 
transmitting. 

One of the limitations of AppleTalk 
is that nodes do not have special 
hardware to detect collisions. This is 
true simply because of the limitations 
of the serial interfaces used on most 
microcomputers: A device (unlike a 
person) can either be transmitting 
(talking) or receiving (listening) but not 
both simultaneously To overcome this 
limitation, AppleTalk uses the scheme 
described above, whereby each 
device must listen to the bus. If the 
bus is busy, the node must wait until 
it is free before sending a message. 
Once the bus is free (that is, no ac- 
tivity is going on), a device must wait 
an amount of time based on the 
generation of a pseudorandom 
number before transmitting to avoid 
collisions with other devices waiting 
to use the bus. 

In our party-line analogy, this col- 
lision-avoidance method means that 
each party must listen to the line. If 
the line is busy, you must wait until 
you don't hear any voices. Once the 
line is free, you must wait some ran- 
dom amount of time before dialing. 

The third function implemented by 
the ATLAP is addressing. Each node 
on the AppleTalk network is assigned 
a unique 8-bit address known as the 
node ID (identification). However, a 
node is not required to have a fixed 
node address. When a node is 
switched on, it chooses a node ID by 
either looking up a previously saved 
value from nonvolatile memory (like 
a disk file) or by generating a random 
number. Once a node has chosen a 
node ID, it sends a special ATLAP 
control frame called an enquiry (ENQ) 
frame to its own address. Any node 
receiving an ENQ frame must send 
out a control frame called an acknowl- 
edge (ACK) frame. Therefore, if a node 

[continued] 



194 B YTE • 1UNE 1985 



Inquiry 223 



Clear advantage! 

This board will expand to 4 Megabytes, 4 serial ports and starts at 
$395. That's only part of the story . . . 




We love a good story. Better 
than that, we love a great 
product. After researching the ex- 
pansion needs of AT users, we have 
concluded that the Basic Time 
AT4X4Plus provides the best array of 
standard features and upgradeability 
available. Compare the AT4X4Plus, 
feature by feature, to the AST 
Research Advantage!™ expansion 
board in terms of main board 
memory, total expansion memory, 
I/O capability, and price. You will 
then discover who has the clear 
advantage. 

You Can Never Have Enough 
Memory. 

That is the oldest saying in com- 
puters. Two years ago, customers 
asked us what they could do with 
256K on a PC. How times have 
changed . . . AT4X4Plus can hold 
up to 4 Megabytes of memory — 2 
Megabytes on the board itself and 2 
on the 4X4RamPak. An important 
feature for future multi-user systems. 

The 4X4's "double split memory 
addressing" capability gives you the 
choice of using 64K or 256K RAM 
chips in the first bank of memory. A 
single row of 64K chips gives you 
128K and is just right for the enhanc- 
ed AT. Using 256K chips in the first 
row enables you to "max out" user 
memory to 640K on an unenhanced 
AT with a single row of chips. The re- 
maining 128K will be available above 
the 1 MEG memory boundary. A first 



row using 256K chips added to a 
enhanced AT will give you 640K user 
memory and 384K above the 1 MEG 
boundary. The memory above 1 
MEG can be used by DOS 3.X for 
VDISK, a virtual ram disk. We think 
that a 512K board (a first row of 256K 
chips) is your best buy. 

Want Real I/O Power? 

Multifunction boards only start 
with memory. The AT4X4Plus comes 
standard with a parallel printer port 
and an asynchronous serial 
(RS-232C) communications port. 
Have more than one serial device? 
No problem, 3 more are optional, 1 
on the AT4X4Plus itself and 2 more 
on the 4X4DualSerialPak piggy-back 
board. Need a game port for a 
joystick or mouse? It's also available 
as an option. 

Your Satisfaction Is Guaranteed. 

With apologies to AST Research's 
advertising, we think at least 4 out of 
5 AT expansion board buyers want 
more capability at lower cost. The 
AT4X4Plus is the clear choice and we 
guarantee it. If you are not complete- 
ly satisfied with your AT4X4Plus 
within 30 days of purchase you may 
return it for a full refund, including 
the freight to return it. And if you 
should ever have a problem during 
the twelve month warranty period, 
we will fix or replace your board 
within 48 hours of receipt. 



AT4X4Plus Prices: 

AT4X4-128 1 parallel, 1 serial, 128K $395 

AT4X4-512 1 parallel, 1 serial, 512K 495 

AT4X4-1MB 1 parallel, 1 serial, 1 MEG 695 

AT4X4-2MB 1 parallel, 1 serial, 2 MEG 1095 

AT4X4Plus Option Prices: 

AT4X4-2S second serial port on 4X4 board $50 

AT4X4-RAM 2 MEG 4X4RamPak 995 

AT4X4-SER 2 serial port 4X4DualSerialPak 295 

AT4X4-GAME game port 35 
AT4X4-PCP preferred customer plan 

(24-month warranty, 24-hour repairs) 75 



All prices include UPS surface charges. For 
fast delivery, send cashier's check, money 
order, or order by Mastercard/Visa. Personal 
checks, allow 18 days to clear. In a hurry? UPS 
Blue Label is just $5.00. Company purchase 
orders accepted, call for prior authorization. 
California residents, add 6% sales tax. 



Hours: M-F 8 am- 5 pm PTZ 
Sat. 9 am - 1 pm PTZ 
London (01) 871-2855 
Paris (01) 321-5316 
Sydney (02) 579-3322 
Canada (403) 438-0994 




Outside California 



1-800-821-4479 



Inside California 



1-805-987-9741 

4809 Calle Alto 
Camarillo, California 93010 

QUBIE' 

Order Today, 
Shipped Tomorrow!™ 

© 1985, Qubie'. Advantage! is a registered trademark 
of AST Research Inc. 



Inquiry 348 



IUNE 1985 -BYTE 195 



APPLETALK 



sends out an ENQ to the address it 
has chosen and receives an ACK, it 
knows that the node ID is already be- 
ing used. If, after repeatedly sending 
out ENQ frames, no ACK is received, 
the new node simply takes the node 
ID as its own. 

The Datagram 
Delivery Protocol 

While the ATLAP provides a delivery 
service from one node to another, 
often a node may contain more than 
one logical source or destination. In 
AppleTalk terminology, a logical 
source or destination is referred to as 
a socket. For example, consider the 
case of a program that manages a 
disk-file system that can be accessed 
by many users. This program could be 
handling many requests for file reads 
and writes from many different users. 
To keep these requests straight, the 
file manager could require many 



sockets, in this case, one for each user. 

To provide a delivery service that 
extends the functions of ATLAP to the 
socket level, AppleTalk provides a 
protocol called the datagram delivery 
protocol (DDP). At the network layer, 
the DDP defines a packet of informa- 
tion called a datagram. 

The format of a datagram is shown 
in figure 6. Note that the datagram is 
actually contained within the ATLAP 
frame— thus the concept of layering. 
The datagram is essentially enclosed 
within the envelope defined by the 
ATLAP in the data-link layer. 

You can also see that the datagram 
header directly follows the ATLAP 
header. If the ATLAP type field is 
equal to I , the next 5 bytes are taken 
as the datagram header. 

The datagram header consists of 5 
bytes. These bytes contain the follow- 
ing fields: a 10-bit length field, the 
destination-socket number, the 



source-socket number, and the DDP 
protocol type field. 

The first 6 bits of the datagram (DDP 
header) are set to 0. The following 10 
bits contain the length of the 
datagram (from the first byte of the 
DDP header to the last part of the 
DDP data field). A datagram packet 
arriving at a destination node is im- 
mediately checked for correct length 
using the value stored in the data- 
gram's header. If the length of the 
received datagram does not match 
the DDP length field, the packet is im- 
mediately discarded. 

The next byte is the destination- 
socket number, followed by the 
source-socket number. Finally the last 
byte of the header is the DDP pro- 
tocol type field. This field specifies the 
type of protocol used in the next 
higher layer; that is, it indicates to the 
destination node the format of the 
data contained in the DDP data field. 



Last year the experts tested 

thetop-of-the-line 

Toshiba 3-in-One printer. 

Here's what they said. 

■■When Toshiba America called to see 
if there were problems testing their printers, 
I responded, You bet — I can't get the P1351 
off Bill Machrone's desk long enough to get 
its picture taken!' It's that good. M % 

(Bill Machrone is the PC Magazine 

editor of PC Magazine.) November 27 1 984 



■■ It b setting new standards fa quality and 
performance in the dot matrix arenaM 



Computers & Electronics Magazine 
November 1984 



196 BYTE • JUNE 1985 



APPLETALK 



Up to 586 bytes of data may follow 
the DDP header. Again, because of 
the layered protocol the definition of 
this data depends upon the protocol 
used in the next higher level. 

The DDP also allows for the delivery 
of packets over a complex network 
composed of what are called inter- 
nets. By connecting individual Apple- 
Talk networks (up to 32 nodes) 
through what are called bridges, an in- 
ternet is formed. A complex network 
can be formed by connecting many 
AppleTalk buses this way. 

To handle the addressing on a com- 
plex internet, the DDP uses an ex- 
tended form of the DDP header that 
contains a source and destination net- 
work number, node ID, and socket 
number. These six values completely 
specify the address of any source and 
destination on an internet. 

Suppose you have the following 
situation: A datagram is to be sent 



from point A to point 1 on the com- 
plex network shown in figure 3. To get 
from one AppleTalk to another, the 
datagram must pass through several 
bridges. Each bridge contains routing 
tables, which contain the information 
necessary to forward a datagram to 
a destination network. By passing 
through various bridges, a datagram 
will eventually arrive at the proper 
network, node, and socket. 

There is one additional field in the 
extended DDP header: the hop count. 
Each time a datagram passes through 
a bridge, the hop count is incre- 
mented. A datagram containing a hop 
count of 1 5 will not be forwarded but 
instead will be discarded. This 
prevents a datagram from endlessly 
circulating through the network. 

The Transaction Protocol 

At the next level up is the AppleTalk 
transaction protocol (ATP). This pro- 



tocol corresponds to the transport 
layer of the ISO Open Systems Model. 
The ATP guarantees that a packet sent 
to a node is correctly received. It im- 
plements this through a series of 
transaction requests and responses. 
The requesting end sends a transac- 
tion request, specifying, for example, 
a command to be executed at the 
receiving end. When the receiving 
end gets the request, it sends one or 
more transaction responses, which 
carry data generated by the execution 
of the command. The responses also 
serve as acknowledgment of delivery 
of the transaction request. 

The format of an ATP packet (in 
figure 6) also consists of a header and 
a data field. Notice that the ATP 
header directly follows the DDP 
header; that is, the ATP packet sits on 
top of the DDP packet. If the DDP pro- 
tocol type field is equal to 3, the 

[continued) 



tf 



W 



Imagine what they will say 

it its successor. 



;•• 



The New Toshiba P351 3-in-One printer. They could 
say that inside the sleek new Toshiba P351 you'll find the 
ultimate 3-in-One printer. Because it offers a combination of: 

Letter-quality printing. Perfectly translated graphics. 
And speed. (100 cps letter. And draft speed improved to 
288 cps.) 

They could say you'll appreciate the 24-pin dot matrix 
head that gives the P351 its exemplary letter and graphic 
quality 

They could say the new P351 gives you an almost 
unlimited number of ways to express yourself. With both 
downloadable software fonts and new plug-in font 
cartridges. 



i 




And they could say the new P351 is r 
only the best looking printer in the $1,000 to $2,000 range. 
But also the most reliable. 

Of course, we're not putting words in their mouths. 
Just the ultimate 3-in-One printer in their hands. And yours. 

For complete information call 1-800-457-7777, 
Operator 32. 



In Touch with Tomorrow 

TOSHIBA 

TOSHIBA AMERICA, INC. Information Systems Division 



Inquiry 407 



JUNE 1985 -BYTE 197 



APPLETALK 



receiving node knows that the DDP 
data field contains an ATP packet. 

The first 8 bits of the ATP header 
contain a command and control field. 
The first 2 bits are used to identify a 
transaction request (01), a transaction 
response (10), and a transaction 
release (11). 

The following 8 bits constitute a se- 



quence bit map used to keep track of 
transactions where multiple re- 
sponses are necessary. For example, 
a transaction request could be a read 
command to a disk. The transaction 
response would consist of a series of 
packets containing the data read from 
the disk. The bit map is used to keep 
track of what packets have been prop- 



Lattice makes the pieces fit . 




Puzzled by complex programming problems? 
Lattice has the tools to help you "get it together!" 

Lattice provides the software tools and utilities you need to design, 
create, modify, analyze, and maintain your C programs and your 
documentation. 

Lattice offers a wide range of C Compilers, C Cross-Compilers, C 
Function Libraries, and C I tility Programs to save you time and 
effort and help manage your complex software systems. 

Lattice products are used by more than 26,000 software developers 
worldwide — including Lattice, Inc. as they develop their own new 
products, updates, and enhancements. 

Call Lattice today. We have the programming tools you've been 
looking for to help you complete your projects! 

Ask about our Trade Up to Lattice C Policy* 



LATTICE 



P.O. Box 3072 
Glen Ellyn. I L 60138 
372/858-7950 
TWX 910-291-2190 



International Sales Offices 
Belgium: Softshop. Phone: (32) 53 664875. 
England: Round Hills. Phone: |0672| 54675. 
Japan: Lifeboat Japan. Phone: |03| 293-2311. 



erly sent. It also provides a means of 
requesting the retransmission of 
selective packets, thus avoiding the 
need to retransmit the entire se- 
quence of packets. 

Finally, the last field of the ATP 
header is the transaction ID. This is a 
16-bit number assigned to the trans- 
action request by the sending node. 
The transaction ID allows each node 
to accurately track transactions and 
responses. This is done by including 
the same value in all requests, re- 
sponses, and release packets belong- 
ing to a particular transaction. 

The Name-Binding Protocol 

One service Apple provides at the 
layer corresponding to the session 
layer of the ISO Open Systems Model 
is the name-binding protocol (NBP). 
Recall that in a complex network or 
internet, the extended DDP header 
specifies a source and destination net- 
work, node, and socket number. Such 
numerical addresses are efficient 
when used by network protocols but 
inconvenient and clumsy for human 
users who prefer dealing with names 
and strings of characters. The Apple- 
Talk architecture includes facilities in 
its NBP for the use of names. 

The actual NBP functions are imple- 
mented in a series of lookup tables 
distributed throughout the nodes in 
a network. These lookup tables cor- 
relate names with networks, nodes, 
and socket numbers. Each node con- 
tains a socket dedicated to the NBP 
function. The user can issue a call to 
the NBP process requesting the ad- 
dress corresonding to a name. Given 
the name, the NBP will search through 
the tables in all nodes in a zone and 
return the corresponding address, 
that is, network, node, and socket 
number. 

Higer-Level Protocols 

AppleTalk's higher-level (presentation- 
and application-layer) protocols will 
allow the formatting of data for 
specific devices and applications. At 
the presentation level, Apple has in- 
troduced a protocol in conjunction 
with the LaserWriter printer. To allow 

[continued) 



198 BYTE • JUNE 1985 



Inquiry 245 



WHEN HEWLETT-PACKARD 



aiffraf 



> J'l j ^ ft- 


lOJ M 


Kvulfl J I 


-j i 


f 1 1 Li j^ 


LEU 


iV#j^i>fJ 




m!M:W 


1 i ir. 


i J i [f^wi 





AND COSTS ONLY $495, 




THE WORDTRAVELEDFAST. 



, 



\ 



^ , . ; ■: ■ ■ ■. ■ ' ■■' " ■ „;■ 



m 



HEWLETT 
PACKARD 



^^pp''. r 






THINKJET. 



Hewlett-Packard research has used inkjet 
technology to make the Thinkjet personal com- 
puter printer surprisingly quiet while printing 
150 high quality, dot-matrix characters per second 
for text or graphics. The Thinkjet printer weighs 
only 6% pounds and it takes up just a bit more 
room than your telephone. So, it can work right on 
your desk. And, the Thinkjet printer's ink supply 
and printhead are designed in one neat disposable 
unit that simply clicks out when its time to change. 

The Thinkjet printer will work with most 



popular personal computers, including Hewlett- 
Packard, IBM® COMPAQ,™ or Apple? 

Finally, as quiet, fast and compact as the 
Thinkjet printer is, it still has one more feature 
that's going to cause a commotion; its price . . . 
$495.00? 

See the entire family of personal computers, 
software and peripherals at your authorized 
Hewlett-Packard dealer. 

Call (800) FOR-HPPC for the dealer 
nearest you. 



PG02510 



m 



HEWLETT 
PACKARD 



IBM is a registered trademark of International Business Machines Corporation. COMPAQ is a trademark of COMPAQ Computer Corporation. 
APPLE is a registered trademark of Apple Computer, Inc. *Suggested retail price. 



Inquiry 209 



IUNE 1985 -BYTE 199 



inquiry 455 



Powerful in circuit emulation, priced 
well within your grasp, That'sNICE. ™ 

NICE may be only 3" square and W thick, but it hands you full spfced, 
real-time emulation— over 50 emulation functions, software breakpoints^, 
all memory addresses and all I/O ports. \ \ 

Just plug NICE directly into the target MP socket and any RS2B£ terminal 
for system development, troubleshooting, debugging or testing . . .%it home, 
in the lab or in the field. 

And NICE hands you all this performance, portability and versatility for only 
S498\ . . the best emulator price /performance ratio on the market; hands down. 

Call in your order today using 
your VISA or Mastercard num- iMgd^^ --,— iJVTi^AVl jarf- 

ber: (800) NICOLET outside 1^ li/r ~ INIvAJICL 

CA, or (415) 490-8300 in CA. 
Or send your 
check or 
money 
order 

to NICE, A 
Nicolet 
Paratroi„v 
Corporatio 
201 Fouriei 
Avenue, Fr 
mont, CA S 



TOTAL CONTROL 

FORTH: FOR Z-8(P, 8086, 68000, and IBM® PC 

Complies with the New 83-Standard 

GRAPHICS • GAMES* COMMUNICATIONS • ROBOTICS 

DATA ACQUISITION • PROCESS CONTROL 

• FORTH programs are instantly 
portable across the four most popular 



microprocessors. 

• FORTH is interactive and conver- 
sational, but 20 times faster than 
BASIC. 

• FORTH programs are highly struc- 
tured, modular, easy to maintain. 

• FORTH affords direct control over 
all interrupts, memory locations, and 
i/o ports. 

• FORTH allows full access to DOS 
files and functions. 

• FORTH application programs can 
be compiled into turnkey COM files 
and distributed with no license fee. 

• FORTH Cross Compilers are 
available for ROM'ed or disk based ap- 
plications on most microprocessors. 

Trademarks: IBM, International Business Machines 
Corp.; CP/M. Digital Research Inc.. PC/Forth + and 
PC/GEN. Laboratory Microsystems. Inc. 



FORTH Application Development Systems 

include interpreter/compiler with virtual memory 
management and multi-tasking, assembler, full 
screen editor, decompiler, utilities and 200 page 
manual. Standard random access files used for 
screen storage, extensions provided for access to 
all operating system functions. 
Z-80 FORTH for CP/M® 2.2 or MP/M II, $100.00; 
8080 FORTH forCP/M 2.2 or MP/M II, $100,00; 
8086 FORTH for CP/M-86 or MS-DOS, $100.00; 
PC/FORTH for PC-DOS, CP/M-86. or CCPM, 
$100.00; 68000 FORTH for CP/M-68K, $250.00. 

FORTH + Systems are 32 bit implementations 
that allow creation of programs as large as 1 
megabyte. The entire memory address space of 
the 68000 or 8086/88 is supported directly. 

PC FORTH + $250.00 

8086 FORTH + for CP/M-86 or MS-DOS $250.00 
68000 FORTH + forCP/M-68K $400.00 

Extension Packages available include: soft- 
ware floating point, cross compilers, INTEL 

8087 support, AMD 951 1 support, advanced col- 
or graphics, custom character sets, symbolic 
debugger, telecommunications, cross reference 
utility, B-tree file manager. Write for brochure. 




Laboratory Microsystems Incorporated r^^^- 

Post Office Box 10430, Marina del Rey, CA 90295 ffl ^ 
Phone credit card orders to (213) 306-7412 HI B_J 



APPLETALK 



Plans for Apple's 
"telephone system" 



are complete. 



the Macintosh to send documents to 
the LaserWriter, Apple has incor- 
porated the features of a language 
called PostScript developed by Adobe 
Systems. PostScript allows all Apple- 
Talk devices to communicate with the 
LaserWriter via a programming lan- 
guage similar to FORTH. Similarly the 
AppleTalk filing protocol will provide 
high-level support for Apple's file 
servers. 

AppleTalk Software 

While the hardware necessary to sup- 
port AppleTalk is built into the Macin- 
tosh, the software required to use the 
network consists of a set of device 
drivers. On the Macintosh this is sim- 
ply a file that must be installed in the 
system folder of each Macintosh on 
the network. This file contains the 
software that implements the lower 
levels of the AppleTalk protocols and 
the software to implement the higher- 
level protocols necessary to com- 
municate with devices like the Laser- 
Writer. 

The core protocols are imple- 
mented in a driver referred to as the 
Macintosh protocol package (MPP). 
The MPP, along with the driver that 
implements the ATP, takes up less 
than 6K bytes on the disk. Tb use the 
LaserWriter, an additional driver, the 
LaserWriter print manager, is also re- 
quired. 

Summary 

Plans for Apple's "telephone system" 
are complete. At this point, the poles 
have been set up, the cables strung, 
and conversational rules established. 
Apple and third-party developers 
have announced a series of AppleTalk 
products. Now, the time it takes for 
AppleTalk to develop into the elec- 
tronic counterpart of today's tele- 
phone system will depend on the 
availability of network software. ■ 



200 BYTE • JUNE 1985 



Inquiry 240 



WHEN HEWLETT-PACKARD USED 



I 




300 CHARACTERS PER SECOND, 



- 



IMLF FOMH I HAMU H 

ran feed I ruo ■ 



1M! 




m 



HEWLETT 
PACKARD 




TRAVELED 
TWICE AS FAST. 

LASERJET. 



Now you can print an entire page of text 
in just 7 l / 2 seconds. That's the equivalent of 300 
characters per second. The LaserJet personal 
computer printer can do it. Hewlett-Packard has 
brought the speed, quiet and letter quality of 
laser printing to the personal computer user for 
under $3,500? 

The LaserJet printer is designed for Hewlett- 
Packard personal computers, the IBM® PC, PC 



compatibles and most other personal computers. 

No other personal computer printer is 
engineered to do what the LaserJet printer can 
do at such an affordable price. But then consider 
where it came from. 

See the entire family of personal computers, 
software and peripherals at your authorized 
Hewlett-Packard dealer. Call (800) FOR-HPPC 
for the dealer nearest you. 



PG02417 



m 



HEWLETT 
PACKARD 



IBM is a registered trademark of International Business Machines Corporation. 
Inquiry 2IO 



*Suggested retail price. 
IUNE 1985 -BYTE 201 





Gone are the glory days 
for Apple. Because Europe's 
most successful business com- 
puter company is now doing 
business in America. 

Introducing Apricot. A 
full line of computers specifi- 
cally designed for business. 

Not adapted to it. 



In fact, the facts speak 
for themselves. 

Apricots are elegant and 
compact, true 16-bit comput- 
ers. They employ the MS-DOS 
operating system, and a mini- 
mum of 256K memory. One of 
our models, the Apricot Xi, 
boasts an incredible 1 Mega- 



byte of memory, and features a 
Winchester hard disk with 20 
Megabytes of storage. We also 
have models that feature 
speech recognition, full-size 
LCD, and icon driven menus. 
In addition, you have a 
choice between 9" or 12" b/w 
or 10" color monitors. All of 



) 1985, Apricot, Inc. 
202 BYTE • JUNE 1985 




Present 




which have a higher screen 
resolution than Apple. 

And as if all that weren't 
enough, all of our models can 
be networked from the moment 
you take them out of the box. 
They're also capable of run- 
ning thousands of business 
software programs like Lotus'" 



pf sf and d-Base IirSpecially 
written for Apricot on 3!/2 
inch disks. 

Now, how do you like 
them Apricots? 

Apricot, Inc., 3375 
Scott Blvd. , Santa Clara, CA 
95054. Call 800-227-6703, or 
in California 800-632-7979. 




The Apricot Portable. 512K RAM. 720K diskette. 
80x25 line LCD. MS-DOS. $2495. 



apricot 

J-WeYe changing how 
American business does business. 



Inquiry 33 



JUNE 1985 • BYTE 203 



Equipping a PC for business takes a 

harddisk. Turn to 
SYSGEN™ when 
you want the best. 





Smart disk users insist on 
* tape for data file back-up. 

SYSGEN 
is the 
leader. 





iy And y if your needs 
7 begin to exceed the 
§0. limits of PC memory 

and slot 

expansion, 

SYSGEN 

has the 

solution. 



18 Megabytes and 6 expansion slots for 
the PC, XT, or AT ™. $1995. 



For demanding PC owners who need more versatility and 
memory, Sysgen introduces a powerful, reliable, and unique 
solution: The DISK I/O™. 

It includes 6 new expansion slots 
for your choice of plug-in 



boards, plus, an 18 MByte hard disk — all for slightly more than 
a hard disk alone. 

Sysgen offers the full range of expansion, storage, and tape 
back-up solutions with the best performance ratings for the 
IBM® PC, XT, AT and compatibles. 

For more information on the Sysgen family of expansion 
products contact your local dealer. 




I N C O R P O 



47853 Warm Springs Blvd., 
Fremont, CA. 94539 
(415) 490-6770 Telex 4990843 
RATED 800-821-2151 



Trademarks: Sysgen, DISK I/O — Sysgen, Inc.; AT — International Business Machines Corporation. Registered trademarks: IBM — International Business Machines Corporation. 
204 BYTE • JUNE 1985 



by Michael Fichtelman 



THe Expert 
Mechanic 



Expert systems 



needn't be esoteric or 
waste resources 



Most people who have 
heard of Logo prob- 
ably think it is a pro- 
gramming language 
for kids. Likewise, most people who 
have heard the term "expert system" 




probably think it refers to something 
esoteric on the frontiers of computer 
science. Both conceptions contain an 
element of truth, but both are over- 
simplifications. In fact, Logo can be 
used to develop an expert system that 
learns. 

Definitions 

Expert systems are exactly that: sys- 
tems that do what an expert in a given 
field can do. One of the first expert 
systems was a program called DEN- 
DRAL, developed by Edward Fiegen- 
baum of Stanford University. DEN- 
DRAL operated at the intellectual 
level of a chemistry Ph.D. 

Most expert systems are developed 
using languages like LISP and Prolog. 
With these languages it is relatively 
easy to write programs that modify 
themselves— programs that learn. Of 
course, you can write an assembler 
program that dynamically modifies its 
own code, but that involves consider- 
able effort. Unfortunately, few imple- 
mentations of LISP and Prolog are 
available for microcomputers since 
both languages require fairly large 
amounts of memory. Logo provides 
many of their capabilities, and ver- 
sions of Logo are available for most 
microcomputers. 

Logo was developed by Seymour 
Papert a professor of mathematics at 
MIT 1 . Logo has some of the features 
of its parent language, LISP, in addi- 
tion to a powerful graphics capabili- 
ty. In Logo, a program or procedure 
is a list of lists. Because the process 

[continued) 
Michael Fichtelman is a systems analyst at 
the European American Bank in New York. 
You can reach him at 72-61 113 St.. Forest 
Hills, NY 11375. 



ILLUSTRATED BY MICHAEL BARTALOS 



JUNE 1985 -BYTE 205 



DeSmet 
C 

8086/8088 

Development $1(1 Q 

Package IU9 



FULL DEVELOPMENT PACKAGE 

Full K&R C Compiler 

Assembler, Linker & Librarian 

Full-Screen Editor 

Execution Profiler 

Complete STDIO Library (>1 20 Func) 

Automatic DOS 1.X/2.X SUPPORT 

BOTH 8087 AND S/W FLOATING POINT 

OVERLAYS 

OUTSTANDING PERFORMANCE 

• First and Second in AUG '83 BYTE 
benchmarks 



SYMBOLIC DEBUGGER 



$50 



Examine & change variables by 

name using C expressions 

Flip between debug and display 

screen 

Display C source during execution 

Set multiple breakpoints by function 

or line number 



DOS LINK SUPPORT 



$35 



Uses DOS .OBJ Format 

LINKS with DOS ASM 

Uses Lattice® naming conventions 



Check: 



SHIPTO: _ 



□ Dev. Pkg (1 09) 

□ Debugger (50) 

□ DOS Link Supt (35) 



zip_ 



c 



WAR 



CORPORATION 



P.O. BOXC 

Sunnyvale, CA 94087 

(408) 720-9696 

All orders shipped UPS surface on IBM format disks. 
Shipping included in price. California residents add 
sales tax. Canada shipping add $5, elsewhere add 
$15. Checks must be on US Bank and in US Dollars. 
Call 9 a.m. - 1 p.m. to CHARGE by VISA/MC/AMEX. 
Street Address: 505 W. Olive, #767, (94086) 



EXPERT MECHANIC 



of recursion is easy to implement in expert system. Once the system is im- 



Logo, procedures or lists can refer to 
themselves. A complete discussion of 
Logo is outside the scope of this arti- 
cle, but for our purposes knowledge 
of Logo is important only if you want 
to understand how to implement an 



plemented, anyone can interact with 
and modify its knowledge base. 

Making an Expert 

Mechanic is an expert system that 

(continued) 



***EXPERT MECHANIC*** 

WE WILL TRY TO DIAGNOSE 

THE PROBLEM BY ASKING QUESTIONS. 

DOES THE ENGINE START? 

YES 
DOES THE ENGINE STALL? 

NO 
DOES ENGINE MISFIRE? 

NO 
DOES ENGINE LACK POWER/PERFORMANCE? 

NO 
DOES ENGINE IDLE ROUGHLY? 

YES 
COULD IT BE FUEL VOLATILITY? 

NO 
WHEN YOU FIND THE SOURCE OF THE PROBLEM, ADD IT TO KNOWLEDGE 
BASE. 
WHAT WAS THE CAUSE OF THE PROBLEM? 

CHOKE 
PLEASE TYPE IN A QUESTION WHOSE ANSWER 
IS "YES" FOR THE CHOKE AND "NO" FOR THE FUEL VOLATILITY 

LETS DIAGNOSE THE NEXT PROBLEM. 



Figure I : Building a knowledge base involves applying human expertise when 
the correct solution is not yet part of the knowledge base. 



'"EXPERT MECHANIC*** 

WE WILL TRY TO DIAGNOSE 

THE PROBLEM BY ASKING QUESTIONS. 

DOES THE ENGINE START? 

NO 
DOES THE STARTER CRANK ENGINE? 

NO 
ARE BATTERY TERMINALS LOOSE OR CORRODED? 

NO 
DOES STARTER MOTOR FAIL TO OPERATE WHEN POWER IS APPLIED 
DIRECTLY? 

YES 
COULD IT BE THE STARTER? 

YES 

CONGRATULATIONS! NOW FIX THE PROBLEM. 
LET'S DIAGNOSE THE NEXT PROBLEM. 



Figure 2: Here. Mechanic already has the information to move directly to a 
correct solution to the problem of why the car won't start. 



206 BYTE • JUNE 1985 





"' 




Resident Software 
/ Always availMfe '.'■ '■; . 

At the touch erf a hotkey . . . 
Regardless of whatever else you're"! fining. 

INSTANT DATABASES . . . BECAUSE THAT'S H0W MOST 

OF US NEED INFORMATION . . INSTANTLY! 

Homebase provides you instant access to your own private 
universe of databases. Just hit the hotkey to freeze whatever 
software you're working in, and you're ready to find, insert or 
manipulate data. Hit it again, and you're back working in your 
original software, without skipping a beat. 

DOS SERVICES 

Need to shift a fiie up a directory while you're working in Wordstar? 
It's just a keystroke away with Homebase. You can open multiple 
directories and sub-directories onscreen, move, copy, view and even 
edit files from within this powerful Homebase feature. 



AND A VERY FULL TOOLCHEST 

Tools that will save you time and help you organize information, 
schedule, calculate/file and notate. You can even set up your own 
reference pages for instant recall. 



AC; JNICATIONS BREAKTHROUGH! 

ECTRONSC MAIL THAT TAKES CARE OF ITSELF . . . 

^ IN THE BACKGROUND 

(While yoiffe running Wordstar, Lotus, a compiler or whatever.) 

"H's reason enouc 

With HOMEBASE, Electronic Mail arrives, automatically, while you're 
working in another piece of software. Up in the corner of your screen, a 
signal flashes to tell you when therms incoming mail. You can choose to 
read it as if arrives, or you can ignore it, and your mail will automatical ly 
file itself ... to be read at your leisure. 

AMBER'S HOMEBASE-CHECK THE DIFFERENCE IN VALUE! 



ORDER YOUR COPY OF HOMEBASE 



lUI 



homebase™ 


SIDEKICK™ 


POLY WINDOWS^ 


SPOTLIGHT™ 


Notepad 


Notepad 


Notepad 


Notepad 


Calendar 


Autodialer 


Keyboard Macros 


Calendar 


Calculator 


Calendar 


Calendar 


DOS Services 


Phone Directory 


Calculator 


Calculator 


Calculator 


DOS Services 


ASCII Table 


Game 


Phone Directory 


i Databases 


Phone Directory 


Alarm 


Card Printer 


Auto Dialer 


Card Printer 


File Cards 


File Cards 


Alarm 










$49.95 


J Pnone Directory 




Card Printer 




Tables & Pages 




$49.95 


$149.95 


Template Maker 








Data Transfer 








Cut & Paste 








Programmable Hotkey 








Phone Message Pad 








Time & Expense Diary 








To-do Ust 








Electronic Mali 








Quickterm Terminal 








Mailing Label Printer 








$49.95! 



Sidoktck Is a Tfademari* oJ Bottand International Inc. Po»y Windows isoTrocJeaxxV afPotylc onCap. Spotlight isaTrodemafkof SoffwareA/ts 
dBase(lland ill) ti a trademark of Aihlon-Tbte Lo1us(1-2-3) isa tradomartt of Lotus Development Corp. WStistoriso trademark c*MfaoPro 



For Visa and MasterCard Orders Call Toll Free: 800-538-8157 Ext. 824 

Call Mon.-Fri. 6 A.M. to 12 P.M., Sat. & Sun. 6 A.M. to 8 P.M. (P.S.T.) In C A 800-672-3470 Ext. 824 

Or fill in this ORDER FORM and enclose a check, money order or your VISA or MasterCard number. 

Homebase is available for the IBM PC, XT and True Compatibles — $49.95 + $5 for shipping and handling* 



YES! Site licenses are available for 
companies . . . large and small. If 
you would like to order a single 
copy, now, to examine and show 
around your company, its cost 
can be deducted, later on, from 
your site license. 

For further information on site 
licenses call 408-996-1883. 

Inquiry 24 



COMPANY NAME % 



crrv 

HOME PHONE ( 



) 



_ WORK PHONE ( 



)- 



D CHECK D MONEY ORDER □ VISA D MASTERCARD Card # Exp. date 

30 da y mo ney-bOCk -California residents add 6% sales tax. Outside U.S. please add $15. Checksmust 

guarantor! Q be on a U.S. bank and in U.S. dollars. Sorry, no C.O.D. or purchase orders. 



AMBER'S HOMEBASE 

^JA OR and $S (Of shipping 
V*&T.T^ and handling* 

SEND TO: 

Amber Systems, Inc. 

AMBER SYSTEMS, INC. 

1 1 71 S. Saratoga-Sunnyvale Road 

San Jose, CA 95129 

For dealer and site license information. 
calUOfi 996-1883. 



Inquiry 102 



Mac 

Inker 

Re-ink any fabric ribbon 
AUTOMATICALLY for less 
than 5$. Extremely simple 
operation with built-in 
electric motor. We have a 
MAC INKER for any printer: 
cartridge/spool/harmonica/ 
zip pack. Lubricant ink safe 
for dot matrix printheads. 
Multicolored inks, uninked 
cartridges available. Ask for 
brochure. Thousands of 
satisfied customers. 




Mac 
Switch 

Mac Switch lets you share 

your computer with any two 

peripherals (serial or 

parallel). Ideal for word 

processors— never type an 

address twice. Ask us for 

brochure with tips on how to 

share two peripherals (or two 

computers) with MAC 

SWITCH. Total satisfaction or 

full refund. 

$99.00 



j**** 



gar- 



&■ 



Order toll free 1-800-547-3303 

Computer 
Friends 

6415 SW Canyon Court 
Suite #10 

Portland, Oregon 97221 
(503) 297-2321 



EXPERT MECHANIC 



Listing 1 : Procedure DISPLAY. KBASE shows you the entire knowledge-base 
binary tree and includes both the information and its logical structure. 

TO START UP 

MAKE 'STARTUP [MECHANIC] 
END 

TO MECHANIC 

ND 

PRINT[***EXPERT MECHANIC***] 

PRINT[WE WILL TRY TO DIAGNOSE] 

PRINT [THE PROBLEM BY ASKING QUESTIONS.] 

PRINT [] 
SEARCH :KBASE 

PRINT [LET'S DIAGNOSE THE NEXT PROBLEM.] 

HOLD 1000 

MECHANIC 
END 

TO HOLD:N 

REPEAT :N[] 
END 

TO SEARCH POSSIBLES 

IF (WORD? POSSIBLES) END.SEARCHPOSSIBLES STOP 

LOCAL "RESPONSE 

MAKE "RESPONSE QRYPOS.OR.NEG (QUERYPOSSIBLES) 

IF :RESPONSE = [YES] SEARCH POS.BRANCHPOSSIBLES STOP 

SEARCH NEG.BRANCHPOSSIBLES 
END 

TO END.SEARCH POSSIBLE 
LOCAL "LAST.QUESTION 
LOCAL "RESPONSE 

MAKE "LAST.QUESTION (SE [COULD IT BE] ARTICLE POSSIBLE [?]) 
MAKE "RESPONSE QRYPOS.OR.NEG : LAST.QUESTION 
IF RESPONSE = [YES] PRINT [CONGRATULATIONS! NOW FIX THE 
PROBLEM.] 



STOP 



LEARNPOSSIBLE 



END 



TO QRYPOS.OR.NEG QUESTION 

LOCAL "ANSWER 

PRINT 1 QUESTION 

IF "? = LAST LAST :'QUESTION PRINT [] ELSE PRINT'? 

MAKE 'ANSWER REQUEST 

IF .ANSWER = [YES] OUTPUT [YES] 

IF :ANSWER = [NO] OUTPUT [NO] 

PRINT [PLEASE TYPE "YES" OR "NO"] 

OUTPUT QRYPOS.OR.NEG QUESTION 
END 



TO QUERY :BTREE 

OUTPUT FIRST 
END 



BTREE 



TO POS. BRANCH :BTREE 
OUTPUT FIRST BUTFIRST :BTREE 

END 

TO NEG. BRANCH :BTREE 



(continued) 



208 BYTE • JUNE 1985 






.m 



w^~ 



OH 



Am 



bukno 
fie right so 
So do 



ate 



are i 



Lk^B 




So before you make any decisions about 
your software needs, talk to WATCOM - 
the people major software users around 
the world have trusted for years. 
W/KTCOM has the products you need to 
get the job done right. Proven performers 
like WATFOR*, WATFIV*, WATBOL*, 
and SCRIPT Plus new leaders in soft- 
ware for PC workstations and micro-to- 
mainframe communications. Networks, 
language interpreters and compilers. 
Text preparation and data management. 
All WATCOM products are human 
engineered to provide the optimum in 
people efficiency and productivity. And 
they're designed to run compatibly on 
IBM mainframes and PC's, Digital main- 



Excellent error diagnostics make WATCOM Interpreters the 
right choice in software for efficient program development 
in API., BASIC, COBOL, FORTRAN, or Pascal. 
WATCOM Interpreters emphasize error detection so that 
program corrections are more easily executed. Hard-to-find 
errors can be quickly located with the integrated debugging 
system for COBOL, FORTRAN, and Pascal. And programs 
can be efficiently entered and corrected with the integrated 
full-screen editor in all languages but APL 



taXTirrr 



frames and micros, and Commodore 
micros. 

Whateveryou need is backed up by 
WATCOM's innovative maintenance and 
support services. You'll be kept up to 
date with the latest in product enhance- 
ments and information. And our publica- 
tions and seminars will help you get the 
most out of your software investment. 
WATCOM. Quality products. Professional 
service. And a reputation built on more 
than 150,000 licensed mainframe and 
micro software programs throughout 
the world. So talk to us before you 
decide. After all, choosing the right 
software is serious business. For you. 
And for WATCOM. 



WATCOM Interpreters are available for IBM PC, IBM 370 
VM/SP CMS, and Digital VAX VMS*. 
Make the right choice. Call or write WATCOM today and 
we'll tell you all about WATCOM Interpreters or any of 
WATCOM'S other people-efficient products. 




WAR 



The right choice in software. 



Inquiry 423 



Yesl I want to make the right choice in software. Send me more information on: 
□ WATCOM INTERPRETERS □ WATCOM Software Catalogue 

Name: 



Company:. 
Title: 



Address:. 
City: 



.State:. 



_Zip:_ 



WATCOM PRODUCTS INC. 

415 Phillip Street 
Waterloo, Ontario, Canada 
N2L3X2 

(519) 886-3700 

Telex 06-955458 



•WATFOR. WATFIV and WATBOL are registered trademarks of the University of Waterloo. 

■IBM PC and IBM 370 VM/SP CMS are registered trademarks of international Business Machines Corporation. 

•VAX, VMS are registered trademarks of Digital Equipment Corporation. 




1\wt *Wf/Tbf*3w MFwMKWJ 1© ^* s l lumorous illustration is no comfort to 
Mjy IlUJLxZi^ll T\jtAJl%/€U those who have experienced the frustration of 

losing hours of programming and data entry due to a power outage or surge. In addition 

to the inconvenience, such occurrences can mean lost programs and perhaps an expensive 

component destroyed. 

Dynaflfech boasts 25 years of engineering experience in power and data line 
interference problems. We are one of the largest manufacturers of products solving these 
problems-and, without question, the engineering trendsetter in the industry 

The latest Dynaflfech trendsetter is our PowerHouse" line of standby power supplies. 
Available in 300- and 500-watt models, PowerHouse 
protects your computer in two ways. First, should power 1 
fail, you instantaneously get clean, regulated power to 
your system, allowing for an orderly shutdown. Second, \^ 
while on commercial power, our SurgeSentry ™ circuitry 
protects your system from surges and other hazards. 

lb learn more about PowerHouse and other fine 
Dynaflfech products, call one of the dealers listed here 
or call us toll free for one near you: (800) 638-9098. 



Computer Power Inc. 



4865 Scotts Valley Drive, Scotts Valley, CA 95066 



DyndRch Dealers 

201/462-9696-CMl (COMPUTER MADNESS) 
201/487-0919-MICROMED 
205/355-4583-SEQUENTIAL SYSTEMS/COMPUTER 

COTTAGE 
207/772-:J622-ENTRE COMPUTER CENTER 
213/391 -6763-ELECTRONIC TRADING POST 
213/970-1242-STRICTLY SOFTWARE 
214/385-8885-MP SYSTEMS 
2 14/785-0041 -BUSINESS SYSTEMS 
215/362-1888-COMPUTERS FOR THE PROFESSIONAL 
219/232-7921-COMPUTERASSOCIATES 
219/493-6505-COMPUTER CORNER 
303/761-5763-DATA SPECIALTIES 
305/894-3354-G.M.I. DISTRIBUTORS 
309/346-5181-ILLINOIS VALLEY COMPUTER 
312/885-0008-DIEHL OFFICE PRODUCTS 
313/573-8120-COMMAND COMPUTER SYSTEMS INC. 
313/694-3740-COMPUTER CONTACT 
316/564-3636-GENESYS SYSTEMS 
317/844-5960-HEALTH CARE SYSTEMS INC. 
319/236-3861-DHEIN'S TRUE VALUE 
404/292-8050-PEACHTREE MICROSYSTEMS 
405/269-2554-PROCESS INC. 
405/332-5588-ADA TYPEWRITER SUPPLY 
405/373-3210-COMCON SYSTEMS INC. 
405/632-6007-COMPUTER SOFTWARE CENTER 
406/443-1710-MSD COMPUTERSUPPLY 
408/438-597 1-PC LAND 

414/276-5585-APPLIED DATA SYSTEMS CORPORATION 
4 15/383-8800-COMPUTERTIME 
415/397-6776-COMPUTERTIME 
4 15/459-8080-COMPUTERTIME 
415/864-3026-EXPRESS COMPUTER SUPPLIES 
419/224-3746-LIMA BUSINESS MACHINES 
419/625-2232-DATADIMENSIONS INC. 
501/224-7770-ENTRE COMPUTER CENTER 
502/589-1258-COMPUTEREMPORIUM 
502/782-9466-COMPUTER MARKET 
503/754-4323-OSU BOOKSTORE INC. 
505/883-4545-OMEGA BUSINESS PRODUCTS 
509/922-6565-NOVA SYSTEMS 
509/943-5608-ALPHA COMPUTER CENTER 
512/226-8188-COMPUTER & BUSINESS SUPPLIES 
512/280-1183-RESPONSE TECHNOLOGIES INC. 
512/682-2372-ADVANCED SYSTEM TECHNIQUES 
513/299-4594-THE BLUE CHIP COMPUTER 
513/548-3326-HOWELL'S COMPUTER CENTER 
515/224-1992-COMPUTER EMPORIUM 
515/288-6668-THE COMPUTER SUPPLY STORE 
602/274-0124-STEW ART TECHNOLOGIES 
602/990-7276-DAYZ SYSTEMS INC. 
605/772-5229-RESEARCH DATA SYSTEMS 
612/888-4444-ON LINE INTERNATIONAL 
614/895-7747-ON LINE COMPUTER CENTER 
614/774-6565-THE CHILLICOTHE COMPUTER STORE 
615/366-3810-COMPUTER SHOPPE 
615/892-3253-COMPUTER CONNECTION 
616/243-1312-ADVANCED INFORMATION SYSTEMS 
616/924-0310-POS ELECTRONIC BUSINESS SYSTEMS 
617/342-9707-HYLAND/RICE SYSTEMS 
618/797-6640-METRO CONNECTION 
619/448-9240-COMPUTERKONTROL 
619/450-0810-ALLEN MICROCOMPUTER SERVICES 
702/322-4559-HARRYS BUSINESS MACHINES 
702/737-1510-AMERICAN OFFICE EQUIPMENT 
702/870-4138-PC COMPUTERS 
704/658-2795-COMPUTERAID/MICROMASTERS 
713/890-1025-SOUTHWEST COMPUTER SUPPLIES 
7 13/988-8560-TYNER AND ASSOCIATES 
714/727-1 142-COMPUTER KINGDOM 
714/969-2225-WEH COMPUTERS 
800/528-7100-SAFEGUARD BUSINESS SYSTEMS, INC. 
800/528-7300-SAFEGUARD BUSINESS SYSTEMS, INC. 
801/224-8887-COM-TEL COMPUTER 
802/447-2186-COMPUTER SUPPLIES INTERNATIONAL 
804/320-6496-FIRST STEP COMPUTERS 
805/658-0355-ENTRE COMPUTER CENTER 
806/935-7492-THE UNLAUB COMPANY OF TEXAS 
808/486-4848-PEARL CITYCOMPUTERS 
808/969-1 166-THE COMPUTER STORE 
814/472-6066-INFOCON CORPORATION 
816/891-6512-TOTAL SOFTWARE INC. 
817/284-5251 -TAYLOR COMPUTER PRODUCTS 
817/383-2631 -AUDIO CONCEPTS ULTD. DBA RADIO 

SHACK ASSOCIATES 
817/429-9166-GEORGEDOWLING ASSOCIATES 
901/722-8280-MICROAGE COMPUTER STORE 
907/443-511 1-GOLD RUSH BUSINESS & ELECTRONIC 

EQUIPMENT 
907/562-3900-ALASKA MICROSYSTEMS 
913/541-0001-MIDWEST COMPUTER ASSOCIATES 
915/563- 1108-THE COMPUTER DIVISION OF I.C.I. 
918/687-3161-DIGITALCOMPUTERSYSTEMS 
919/799-0327-COMPUTER E'S 

DynaTech Computer Power, Inc., was formed as 
the result of the acquisition and merger of RKS 
Industries, Inc., and Dymarc Industries by 
Dynatech International, Inc. 



EXPERT MECHANIC 



OUTPUT LAST :BTREE 
END 

TO ARTICLE WORD 

OUTPUT SENTENCE "THE :WORD 
END 

TO LEARN MISTAKE 

PRINT [WHEN YOU FIND THE SOURCE OF THE PROBLEM, ADD IT TO THE 

KNOWLEDGE BASE. WHAT WAS THE CAUSE OF THE PROBLEM?] 

MAKE "RIGHTANSWER (LAST REQUEST) 

PRINT [PLEASE TYPE IN A QUESTION WHOSE ANSWER] 

PRINT ( SE [IS "YES" FOR} ARTICLE :RIGHTANSWER[AND]) 

PRINT( SE ["NOTOR] ARTICLE :MISTAKE) 

MAKE "QUESTION REQUEST 

INCREASE.KBASE QUESTION :RIGHTANSWER :MISTAKE 
END 

TO INCREASE.KBASE :NEW.QUESTION :POS.ANSWER :NEG.ANSWER 
MAKE "KBASE CHANGE :KBASE :MISTAKE(LIST :NEW.QUESTION 
:RIGHTANSWER :MISTAKE) 

END 

TO CHANGE :DATA :WORD :NEW.BRANCH 

IF:DATA = :WORD OP :NEW.BRANCH 

IF WORD? :DATA OP :DATA 

OP (LIST QUERY :DATA CHANGE POS.BRANCH :DATA :WORD 

:NEW.BRANCH CHANGE NEG. BRANCH :DATA :WORD :NEW.BRANCH) 
END 

TO STARTKBASE 

MAKE"KBASE [[DOES THE ENGINE START?] [[DOES THE ENGINE STALL?] 
[[ANY AIR LEAKS IN OR AROUND INTAKE MANIFOLD?] MANIFOLD [[ARE 
VALVES SET TOO TIGHT?] VALVES [[ARE IGN POINTS BURNED, PITTED, 
OR GAPPED IMPROPERLY?]POINTS [[IS IDLE SPEED SET TOO LOW?] 
IDLE-SPEED CARB-MIXTURE ]]]] [[DOES ENGINE MISFIRE?] [[ARE SPARK 
PLUGS FOULED, DAMAGED, TOO HOT, TOO COLD, OR GAPPED 
INCORRECTLY?] PLUGS [[IS HEAD GASKET BLOWN?] HEAD GASKET 
[[ARE POINTS BURNED, PITTED, OR INCORRECTLY GAPPED?] POINTS 
[[ARE VALVES WORN, STICKING, OR VALVE SPRINGS BROKEN, WEAK?] 
VALVES [[IS CARBURETION POOR DUE TO CLOGGED OR LOOSE JETS, 
AIR LEAKS, OR INCORRECT FUEL-TO-AIR MIXTURE?]CARBURETOR 
IGNTIMING]]]]] [[DOES ENGINE LACK POWER/PERFORMANCE?] [[IS IGN 
TIMING OFF?] IGN TIMING [[HAS VACUUM ADVANCE FAILED?] 
VACUUM-ADVANCE [[ARE POINTS BURNED, PITTED, STICKING, OR 
BOUNCING?] POINTS PISTON-RINGS]]] [[DOES ENGINE IDLE ROUGHLY?] 
FUEL-VOLATILITY CYL-HEAD]]]] [[DOES THE STARTER CRANK ENGINE?] 
[[ARE POINTS BURNED, PITTED, DIRTY, OR FAIL TO FUNCTION?] 
POINTS[[IS COIL RESISTOR BURNED OUT OR OPEN?] COIL [[ARE SPARK 
PLUGS DAMAGED, DIRTY, WET, OR GAPPED INCORRECTLY?] PLUGS [[IS 
FUEL PUMP WORN, LEAKING, CLOGGED, OR INOPERATIVE?] FUEL 
PUMP [[IS CARB FLOAT LEAKING OR SET INCORRECTLY, ARE JETS 
CLOGGED, IS NEEDLE VALVE OR SEAT DIRTY OR WORN, IS CHOKE 
INCORRECTLY SET OR INOPERATIVE?] CARBURETION [[IS DISTRIBUTOR 
CAP, ROTOR, TERMINAL INSULATOR DAMAGED, IS DISTRIBUTOR WET?] 
DISTRIBUTOR [[ARE IGN CABLES CRACKED, WET, CORRODED?] IGN- 
CABLES [[DOES IGN SWITCH REMAIN OPEN WHEN KEY IS TURNED? 
IGN-SWITCH FUEL ]]]]]]]] [[ARE BATTERY TERMINALS LOOSE OR 
CORRODED?] TERMINALS [[DOES STARTER MOTOR FAIL TO OPERATE 
WHEN POWER IS APPLIED DIRECTLY?] STARTER [[DOES STARTER DRIVE 
GEAR FAIL TO ENGAGE FLYWHEEL?] SOLENOID BATTERY]]]]] 

END 

[continued) 



Inquiry 157 



JUNE 1985 • BYTE 211 



Inquiry 215 



SINGLE 

BOARD 

COMPUTER 

PC BUS 
SYSTEM 




Put the power of the IBM PC into 
your OEM system with the new I-Bus 
Single Board Computer and Enclosures. 
Now you can make use of that vast 
array of PC-compatible expansion 
cards — for communications, graphics, 
data acquisition, peripheral control, and 
every other imaginable task. 

I-Bus Systems has coupled Intel's 
powerful new 80188 CPU with 64K of 
RAM and up to 160K of on-board 
EPROM, plus a serial console port to 
talk to a terminal or a PC. Just plug the 
SBC into an I-Bus 6-slot chassis or 9- 
slot card cage and you have the heart 
of a computer system, ready to run. 

Best of all, the IBM PC works per- 
fectly as a software development sys- 
tem. You can assemble and test appli- 
cations programs on the PC, then 
download them to the I-Bus system for 
dedicated execution. 

For all the details, give us a call today 
at (800) 382-4229. In California, call 
(619) 569-0646. 




SYSTEMS 

9235 Chesapeake Drive 
San Diego, CA 92123 

IBM PC is a trademark of International Business Machines 



EXPERT MECHANIC 



TO DISPLAY.KBASE 
DISP :KBASE 
END 

TO DISP :KBASE TIER 

IF WORD? :KBASE BDISP :KBASE TIER STOP 

BDISP (QUERY :KBASE ) TIER 

BDISP [IF YES:] TIER 

DISP POS.BRANCH :KBASE :TIER + 1 

BDISP [IF NO:] TIER 

DISP NEG.BRANCH :KBASE :TIER + 1 
END 

TO BDISP :BRANCH TIER 

REPEAT 2* .TIER [PRINT1""] 

PRINT :BRANCH 
END 

DOES THE ENGINE START? 
IF YES: 

DOES THE ENGINE STALL? 
IF YES: 
ANY AIR LEAKS IN OR AROUND INTAKE MANIFOLD? 
IF YES: 

MANIFOLD 
IF NO: 
ARE VALVES SET TOO TIGHT? 
IF YES: 

VALVES 
IF NO: 
ARE IGN POINTS BURNED, PITTED, OR GAPPED IMPROPERLY? 
IF YES: 

POINTS 
IF NO: 
IS IDLE SPEED SET TOO LOW? 
IF YES: 

IDLE SPEED 
IF NO: 
CARB MIXTURE 
IF NO: 

DOES ENGINE MISFIRE? 
IF YES: 
ARE SPARK PLUGS FOULED, DAMAGED, TOO HOT, TOO COLD, OR 
GAPPED INCORRECTLY? 
IF YES: 

PLUGS 
IF NO: 
IS HEAD GASKET BLOWN? 
IF YES: 

HEAD GASKET 
IF NO: 
ARE POINTS BURNED, PITTED, OR INCORRECTLY GAPPED? 
IF YES: 

POINTS 
IF NO: 
ARE VALVES WORN, STICKING, OR VALVE SPRINGS BROKEN, 
WEAK? 
IF YES: 
VALVES 
IF NO: 
IS CARBURETION POOR DUE TO CLOGGED OR LOOSE JETS, AIR 

[continued) 



212 BYTE • JUNE 1985 



Teleteknology 

One Success After Another. v^J / 



Since 1978 Teletek has been a leader in the design and 
manufacture of single board computers, controllers, 
memory boards and interface boards. 

Teletek offers five distinct single board computers 
(SBCs), each with its own unique features, to meet the 
varied needs of the system integrator. Based on the 
8086 16-bit and Z80 8-bit microprocessors, Teletek's SBCs 



will run at 4, 5, 6, or 8MHz and are available with up to 
512K of r onboard dynamic RAM. The SBC 86/87 also offers 
an optional 8087 math coprocessor for numeric intensive 
applications. 

Teletek's Systemaster II provides two RS232C serial 
ports and two Centronics-compatible parallel ports or 
may be optionally configured to provide a SCSI interface 
or an IEEE-488 interface to support many laboratory 
testing and measuring instruments. 

Teletek also offers a dual controller board, the HD/ 
CTC, which will control any two ST506-compatible hard 
disk drives and any QIC-02/QIC-24-compatible 
cartridge tape drive. This unique design saves 
hardware cost as well as space in the mainframe. 

Teletek's IEEE 696/S-100 boards run under 
the multi-user, multi-processing operating 
system TurboDOS by Software 2000, support- 
ing up to 16 users and 
capable of running PC-DOS 
application programs. For 
single- user systems, Teletek 
is supported by the CP/M 
operating system. 




In Europe: 
Kode Limited 
Station Road 
Calne, Wiltshire 
SN11 OJR England 
tel: 0249-813771 
telex: 449335 

In Brazil: 
DANVIC SA 
R. Conselheiro 

Nebias, 1409 
01203 Sao Paulo, Brazil °Q fc 
tel: 221-6033 (PABX) 
telex: 11 23888 CICPBR 

Teletek provides a 30 day evaluation 
program to qualified customers. For 
more information, call our Sales Depart 
ment at 916-920-4600 or write for our 
information package. 



ELETE 



4600 Pell Drive 




L- 1 


Sacramento, CA 95638 




<S} J 


916-920-4600 




E 




Inquiry 405 




© 1964 Teletek 




&■ 



Inquiry 408 






0m 



PROGRAMMER'S UTILITIES 
especially for Turbo Pascal on 
IBM PC/XT/AT and compatibles 

MORE POWERFUL THAN UNIX UTILITIES!!! 

Whelher you are a 

-• Student •• Hobbyist -- Professional Software Developer -- 

THESE UTILITIES WILL IMPROVE YOUR 

PROGRAMMING PRODUCTIVITY!!! 

These Powerful. Ready-to-Use programs fully support Turbo 

Pascal versions 2.0 and 3.0, and MSDOS 2.X and 3.0. Here's 

what you get: 

Pretty Printer 

Standardize capitalization, indentation, and spacing of 
source code. Don't waste your own time 1 Several adjustable 
parameters to suit your tastes (works with any standard 
Pascal source). 

Program Structure Analyzer 

Find subtle problems the compiler doesn't: uninitialized and 
unused variables, modified value parameters, "sneaky" 
variable modification, redefined standard identifiers. Also 
generates a complete variable cross reference and a pro- 
gram hierarchy diagram. Interactive or write to file (works 
with any standard Pascal source) 

Execution Timer 

Obtain a summary of time spent in each procedure and 
function of your program, accurate to within 200 micro- 
seconds. Also counts number of calls to each subprogram. 
Fully automatic. 

Execution Profiler 

Obtain a graphic profile of where your program spends its 
ttme. Interactive, easy-to-use. Identify weak code at the in- 
struction level. (Profiler and Tinier for Turbo Pascal Source 
code only.) 

Command Repeater 

Go beyond MSDOS batch files to combine a powerful text 
parser with general-purpose command execution capability. 
Use to copy, print or delete across subdirectories, "make" 
programs and more. 

Pattern Replacer 

Find and REPLACE versatile regular expression paiterns in 
any lext file. Supports nesting, alternation, tagged words 
and more. Over a dozen programmer's applications 
included. 

Difference Finder 

Find differences between two text files, and optionally create 
an EDLIN script which rebuilds one from the other. 
Disregard white space, case, arbitrary characters and Pascal 
comments if desired. 

Super Directory 

Replace PCDOS DIR command with extended pattern 
matching, sort capability, hidden file display, date filtering, 
and more. 

File Finder 

Locate files anywhere in the subdirectory tree and access 
them with a single keystroke. Display the subdirectory tree 
graphically. 

AVAILABLE IN SOURCE 
AND EXECUTABLE FORMAT 

Executable: S55 COMPLETE including tax and shipping. 
Compiled and ready to run, includes user manual, reference 
card and one 5W DSDD disk. Ideal for programmers not 
using Turbo. 

Source: S95 COMPLETE including tax and shipping. In- 
cludes all of the above, and two additional DSDD disks. 
Disks include complete Turbo Pascal source code, detailed 
programmer's manual (on disk) and several bonus utilities. 
Requires Turbo Pascal 2.0 or 3,0. 

Requirements: MSDOS 2.X or 3.0, 192K RAM - programs 
run in less RAM with reduced capacity. Two drives or hard 
disk recommended. 

TO ORDER: 

VISA/MasterCard orders, call 7 days' toll-free 1-800-538-8157 
x830. In California, call 1-800-672-3470 x830 any day. 
Or mail check/money order to: 

TurboPower Software 

478 W. Hamilton Ave., Suite 196 

Campbell, CA 95008 



EXPERT MECHANIC 



LEAKS, OR INCORRECT FUELTO-AIR MIXTURE? 
IF YES: 

CARBURETOR 
IF NO: 
IGN TIMING 
IF NO: 

DOES ENGINE LACK POWER/PERFORMANCE? 
IF YES: 
IS IGN TIMING OFF? 
IF YES: 
IGN TIMING 
IF NO: 
HAS VACUUM ADVANCE FAILED? 
IF YES: 

VACUUM ADVANCE 
IF NO: 
ARE POINTS BURNED, PITTED, STICKING, OR BOUNCING? 
IF YES: 

POINTS 
IF NO: 
PISTON RINGS 
IF NO: 

DOES ENGINE IDLE ROUGHLY? 
IF YES: 

FUEL VOLATILITY 
IF NO: 
CYL HEAD 
IF NO: 

DOES THE STARTER CRANK ENGINE? 
IF YES: 
ARE POINTS BURNED, PITTED, DIRTY, OR FAIL TO FUNCTION? 
IF YES: 

POINTS 
IF NO: 
IS COIL OUTPUT WEAK OR NONEXISTENT, IS COIL RESISTOR 
BURNED OUT OR OPEN? 
IF YES: 
COIL 
IF NO: 
ARE SPARK PLUGS DAMAGED, DIRTY, WET, OR GAPPED 
INCORRECTLY? 
IF YES: 

PLUGS 
IF NO: 
IS FUEL PUMP WORN, LEAKING, CLOGGED, OR INOPERATIVE? 
IF YES: 

FUEL PUMP 
IF NO: 
IS CARB FLOAT LEAKING OR SET INCORRECTLY, ARE JETS 
CLOGGED, IS NEEDLE VALVE OR SEAT DIRTY OR WORN, IS 
CHOKE INCORRECTLY SET OR INOPERATIVE? 
IF YES: 

CARBURETION 
IF NO: 

IS DISTRIBUTOR CAP, ROTOR, TERMINAL INSULATOR 
DAMAGED, IS DISTRIBUTOR WET? 
IF YES: 

DISTRIBUTOR 
IF NO: 
ARE IGN CABLES CRACKED, WET, CORRODED? 
IF YES: 



[continued] 



214 BYTE • JUNE 1985 




Sometimes the best way to get ahead is to go sideways. 



'J-.- sS : : t '•■■■ ■ "■ p - "~ "■- ~ r "- : ' ' : " " : ,: " ; "£ s- "'-'r 
'B 1M x= ss Sis jfs H ks sis £s lis £5 ss "iri "li'S as Vis '5.S 



i» .?;!• ..•;* _LH? is is .. 



?P The problem with spreadsheets is they 
fj: get printed the wrong way. 

^^""" You still have a lot of stapling, gluing, 
^ or taping to look forward to before your 
printout is readable. 

To really get ahead, go Sideways T . M 

Sideways is the clever software program that prints 
your spreadsheets— you guessed it— sideways. So your 
spreadsheet columns need never fall off the edge of 
your printer paper again. 



With Sideways on your side, no spreadsheet you invent 
with Lotus 1 -2-3,® Symphony,™ VisiCalc® Multiplan® or 
SuperCalc™ is too wide! And it's just as powerful an 
ally when you're creating far-into-the -future schedules 
and pert charts. So for a presentable printout, get rid 
of that glue stick and scotch tape— put your best foot 
forward and go Sideways. 

You can go Sideways today with an IBM® PC or an 
Apple® II, and over a dozen different printers, including 
Epsonf Okidata,IBMf Applef C. Itoh and Mannes- 
mann Tally. Ask for Sideways at your local Computer- 
Landf Entre, or other computer store. Or mail a $60 
check to Funk Software, P.O. Box 1 290, Cambridge, 
MA 02238. Or call 61 7-497-6339. MC/ Visa accepted. 

9DBWWS 

SIDEWAYS PRINTS SPREADSHEETS SIDEWA/S. 



Inquiry 189 



JUNE 1985 • BYTE 215 



EXPERT MECHANIC 



IGN CABLES 
IF NO: 
DOES IGN SWITCH REMAIN OPEN WHEN KEY IS 
TURNED? 
IF YES: 

IGN SWITCH 
IF NO: 

FUEL 

IF NO: 

ARE BATTERY TERMINALS LOOSE OR CORRODED? 
IF YES: 

TERMINALS 
IF NO: 
DOES STARTER MOTOR FAIL TO OPERATE WHEN POWER IS APPLIED 
DIRECTLY? 
IF YES: 

STARTER 
IF NO: 
DOES STARTER DRIVE GEAR FAIL TO ENGAGE FLYWHEEL? 
IF YES: 

SOLENOID 
IF NO: 
BATTERY 



simulates an automobile mechanic. 
Due to memory constraints, I decided 
to limit the knowledge base to include 
only the expertise required to diag- 
nose engine failure. If you have 
enough memory, there is no reason 
why you cannot extend the knowl- 
edge base to include comprehensive 
automobile diagnostics. An alter- 
native would be to build different 
knowledge bases for each area— one 
for the electrical system, one for 
suspension, one for steering, and so 
on. 

The Mechanic procedure applies 
the concept of the binary tree to per- 
form knowledge-base searches. Each 
question is a node on the search tree, 
and every node has exactly two 
branches. For example, the highest 
node is the question "Does the 
engine start?" If the answer to this 
question is "Yes," the next node is 
"Does the engine stall?" If the answer 
is "No," the next node is "Does the 
starter crank engine?" 

In this way, Mechanic navigates the 
knowledge base until the problem is 



solved or a new node is added. 
Figures I and 2 are examples of the 
complete execution of Mechanic. In 
figure 1, the solution to the problem 
is not in the knowledge base. 
Mechanic can take you only to the 
limit of its expertise. However, the pro- 
gram asks to be informed if you 
discover a solution. It also asks you 
to formulate a question that will 
distinguish the actual solution from 
the solution Mechanic proposed. In 
this way, the program learns and the 
knowledge base grows. The next time 
someone uses Mechanic, its ability to 
solve problems can be extended 
further. 

In figure 2, Mechanic moves direct- 
ly to a solution. It simply suggests that 
the user fix the problem since com- 
puter programs cannot yet replace 
starter motors. 

The Procedures 

The main procedure is MECHANIC. It 
is recursive and calls the procedure 
SEARCH. SEARCH is also recursive; 
if the answer to a prompt is "Yes" it 



calls the procedure POS.BRANCH. 
Otherwise, SEARCH calls NEG.- 
BRANCH to display the next node in 
the binary tree. If the end of a par- 
ticular branch is reached before a 
positive reply is received, END- 
SEARCH is called to suggest a solu- 
tion to the problem. If END.SEARCH 
proposes the correct solution, a con- 
gratulatory message is displayed and 
MECHANIC executes again. If END.- 
SEARCH is wrong, it calls the pro- 
cedure LEARN. LEARN asks the user 
if the solution was found and adds it 
to the knowledge base by calling IN- 
CREASE.KBASE. 

lb initialize the knowledge base 
before it is first used, execute START.,- 
KBASE. This procedure sets the value 
of the global variable KBASE. There- 
after, you can directly modify the 
knowledge base by altering the lists 
in this procedure. 

The procedure DISPLAYKBASE is a 
utility you can use to display the 
knowledge-base binary tree. It calls 
the procedures DISP and BDISP. List- 
ing I is this procedure's output, in- 
cluding both the information and its 
logical structure. 

New Directions 

An expert system is only as good as 
the expertise it contains. I deliberately 
limited the size of the knowledge base 
to allow room for experimentation. 
Obviously, the knowledge base can 
grow to fill a computer's available 
memory When you build your knowl- 
edge base, keep in mind that some 
binary-tree structures are more logical 
than others. A carefully built structure 
can expedite problem solving. 

Mechanic is a model for developing 
expert systems using Logo. You can 
use the procedures described here as 
a shell for any area of expertise. You 
can easily modify them to conform to 
the requirements of different applica- 
tions and to build a variety of knowl- 
edge bases. ■ 

BIBLIOGRAPHY 

McCorduck, Pamela. Machines Wfto Ihink. 

New York: W.H. Freeman & Co., 1979. 
Papert, Seymour. Mndstorrns. New York: 

Basic Books, 1982. 



216 BYTE ■ IUNE 1985 



Introducing 
the * 



new 



and improved 
IBM PC. 



Introducing 
GEM. 



■..;£?■; .. ■ .;;/^:r; . -^^ ■■■ 






^r--~- 




™3E? ~£ ™ ?riCC ' GEM reqUir " dUt y ° Ur com P utcr havc appropriacc graphic, capability and that the pointing device be compatible GEM G 
PAINT GEM DRAW. GEM GRAPH and GEM WORDCHART are trademark, and Digital Rematch is a registered trademU^DiriS' Res*«ch 
registered trademark of International Business Machines Corporation. © 1985, Digital Research Inc. All rights reserved. 



GEM COLLECTION, GEM DESKTOP GEM WRITE, < 
Inc. GEM WRITE is by Lifetree Software, Inc. IBM is a 



Congratulations. 

You just found the perfect way to get a 
brand new and improved IBM® PC without 
buying one. 

Get GEM™ software from Digital Research 
instead. And your IBM PC, PC/XT; AT or 
compatible will become something it's never 
been before. 

Easy to use. 

Now instead of getting lost in PC DOS, 




you can actually use your PC to get some- 
thing done. (An astonishing idea, if ever there 
was one.) 

It all starts with GEM DESKTOP;* a clever 
little $49.95*program that hides the rigmarole 
of PC DOS. And lets you work with a simple 
header menu, icons, drop-down menus and 
a pointer. 

So opening a file, for instance, is as easy as 
pointing with your mouse (or your cursor 
keys, if mice make you uneasy) to the file 
folder you want to work on. And click. 
It's open. 

That's how GEM works. Here's what it 
works with. First of all, you can still run most 
important programs ever written for the IBM 
PC. And GEM software will make them 
easier to get into. 

Then there are GEM programs we've 
written ourselves. 

Like the GEM COLLECTION:' a bundle 
that includes GEM DESKTOP? GEM 
WRITE™* and GEM PAINT 1 ; 1 So you can 
process words and pictures together. 

GEM DRAW™ with an extensive gallery 
of art to help you create everything from fine 
art to line art. GEM GRAPH™ to turn num- 
bers into something more tangible. And GEM 
WORDCHART,™ the simplest last word (and 
chart) in presentation graphics. 

And soon you'll see important programs 
from a host of major software houses. 






J; 




Now, GEM is as easy to find as it is to use. 
Call (800) 443-4200. Ask for our GEM bro- 
chure. The name of your GEM software 
dealer. Or simply place an order. 

Because with GEM, the best new com- 
puter on the market isn't a computer at all. 



^GEM 



FROM DIGITAL RESEARCH® 

Inquiry 141 



This is the 



• 



• 



• 



Modules. 



Model DA3 

4 to 20 ma output 



)•!!• 



Optically isolated analog input or output modules available from Opto 22. 

Five years ago we introduced the industry standard optically isolated digi- 
tal I/O modules. The optically isolated analog I/O modules are now ready. 

Our engineers have combined signal conditioning A/D or D/A conversion 
and optical isolation in a single module at prices you have been waiting for, and 
they've designed a module for every application: ■ Thermocouple input mod- 
ules (Type J & K) ■ Voltage input and output modules ■ Current input and 
output modules ■ Temperature sensing module with ICTD probe 

All modules plug into four position or sixteen position racks with an on- 
board microcomputer that communicates to your host computer via a simple 
twisted pair. 

Optically isolated analog modules — the new industry standard. 



JJLiii 



15461 Springdale Street • Huntington Beach • CA • (714) 891-5861 • (800) 854-8851 



Inquiry 3I2 for End-Users. Inquiry 31 3 for DEALERS ONLY. 



by Werner F. Grunbaum 



Use color and 



monochrome monitors 
simultaneously on 
your IBM PC 



Editor's note: \n November 1983, BYTE 
presented an assembly-language program for 
the IBM PC entitled Screen ("Enhancing 
Screen Displays for the IBM PC," by Tim 
Field, page 99), of which one function was 
the ability to connect both color and mono- 
chrome monitors to the IBM PC and switch 
back and forth between them. This article 
describes a simple program that allows you 
to do the same thing while developing BASIC 
applications. 

Many IBM PC owners have 
both monochrome and 
color/graphics adapters in 
their computers. Unfortunately, only 
a few programs take advantage of the 
opportunity to use both a mono- 
chrome and a color monitor at the 
same time. The programs that do, 
such as Lotus 1-2-3 and SuperCalc3, 
simultaneously display graphics on 
one monitor and a spreadsheet on 
the other when the monitors are con- 
nected to separate cards. Such a 
setup has advantages, as these two 
cases illustrate: You can check the 
spreadsheet data and the graphics at 
the same time, and you can easily 



SWITCH 



change graphics commands on one 
screen while viewing the graphics 
themselves on the other screen. 

Switch enables you to write graph- 
ics instructions in BASIC on your 
monochrome monitor and to display 
the output on a color monitor con- 
nected to your color/graphics card. 
Minimum requirements for using this 
program are an IBM PC with two 
monitors connected to separate inter- 
nal cards, one disk drive, and BASICA 

Using the Program 

Essentially, Switch is a program kernel 
to which you can add your own graph- 
ics applications. Once you have keyed 
in the 45 lines of code (listing 1), you 



WORLD COORDINATES 



can *run Switch and begin to experi- 
ment, adding your own graphics ap- 
plication beginning at line 1000. Lines 
1000 to 7 500 are reserved for your 
application. Listings 1,2, and 3 are 
available on BYTEnet Listings at (617) 
861-9774. 

TWo function keys control the pro- 
gram's operation, execution, and 
screen display. Function key 5 trans- 

[continued) 

Werner F. Grunbaum, Ph.D. (Department of 
Political Science, University of Missouri-St. 
\mis, St. Louis, MO 63121), is a professor 
of political science. He is a member of the 
Association for Computing Machinery and a 
regular reviewer of legal applications for ACM 
Computer Reviews. 



IBM PC COORDINATES 




Figure 1: Nine sample screen locations, shown with both the IBM PC screen 
coordinates and world coordinates. 



JUNE 1985 -BYTE 221 




SWITCH 



STOP DATA LOSS. 



As a computer maintenance profes- 
sional, you're well aware that most of 
computer downtime and data loss are 
caused by dust and dirt contamination. 

That's why more and more com- 
puter servicing organizations are tak- 
ing Dust-Off® II with them on every 
service call. Unlike liquid cleaners, 
Dust-Off II is a safe, dry, "canned air" 
cleaning system for computers, 
printers, disk and tape drives, CRTs, 
media storage containers and modems. 
Dust-Off II's pa- 
tented valve gives you 
pinpoint fingertip-con- 
trol to blast away dust, 
dirt and grime before 
they cause downtime. 
Add the Stat-Off® II ac- 
cessory, and you have 
the only dry, non-con- 
tact method for elim- 
inating dust-holding static electricity. 
The Dust-Off II system also includes the 
Dual Extender and the Mini- Vac minia- 
ture vacuum for eliminating hard-to- 
reach dust. 

Your customers depend on you to 
keep their precision equipment in top 



working order. You can depend on Dust- 
Off II to help you do it. 

Dust-Off II can be a source of addi- 
tional profit for you. Sell it to your cus- 
tomers so they can maintain their 
machines between service calls. 

Dust-Off II is as close as your 
Falcon distributor. Contact us for his 
name and details on the complete Dust- 
Off II line. 



Dust-Off „ 

System II 





Dust-Offll 

THE SAFE, DRY, "CANNED AIR"CLEANING SYSTEM. 



fers control to the graphics monitor 
and then executes the program, which 
displays the graphics on the color 
monitor. Function key 4 returns pro- 
gram control to the monochrome 
monitor and lists the graphics com- 
mands in lines 1000 to 7500, to which 
you can add new commands. You can 
test these commands at any time by 
pressing function key 5. 

Correcting errors, deleting un- 
wanted commands, and adding new 
commands is easy with Switch, since 
the graphics (on the color monitor) 
are not obscured by commands and 
new commands are not fouled up by 
the inclusion of stray bits of graphics 
or text, as can happen when you're 
working with one monitor. Screen- 
refresh time is quite fast for both 
monitors, and you can make changes 
quickly, without having to make print- 
outs or relying on your memory. 

With Switch, you can make correc- 
tions on either monitor. Correcting 
minor errors is faster and easier on 
the color screen than switching moni- 
tors. After you make the corrections 
on the color monitor, press function 
key 2 (RUN) to try the program again. 
To correct major errors, it is better to 
switch back to the monochrome 
monitor, because the color monitor 
can display only 40 characters of text 
and because the graphics display will 
be at least partially blanked by major 
corrections. 

If your graphics contain text, it is 
best to position the text on the color 
screen as it will appear when the pro- 
gram is executed. This way you can 
check the layout before you write the 
commands that will print the text. 

Once the screen layout of the text 
is satisfactory, you can save it by using 
the LOCATE (row, column) statement 
immediately before your normal 
PRINT statements. To do this, deter- 
mine the row number for screen text 
locations by starting the cursor at the 
upper left-hand corner of the screen. 
Use the cursor to count down (rows) 
and to the right (columns) to where 
the text is located. Use the row and 
column numbers in the LOCATE state- 
ment, which is placed just before the 
appropriate print statement, as in: 



Falcon Safety Products, Inc., Dept.B, 1065 Bristol Road, Mountainside, N.J. 07092. U.S.A. 

222 BYTE • JUNE 1985 Inquiry 178 



SWITCH 



10 LOCATE {row, col.) 

20 PRINT "Graphics Screen" 

For another way to locate the row and 
column, without counting, see the 
text box on page 226 of this article. 

When you are satisfied with the out- 
put of your graphics application— as- 
suming that you have run GRAPH- 
ICS.COM under DOS 2.0 before you 
wrote the application— you can press 
Shift-PrtSc and get a graphics dump 
of the screen. If you do not have DOS 
2.0, several commercial graphics 
dumps run under earlier versions. 

A couple of warnings. Remember 
not to execute graphics on the mono- 
chrome monitor. It can run graphics 
only if it is connected to a special card 
designed to run graphics on IBM 
monochrome monitors, such as the 
Hercules card. BASICA will respond 
with an Illegal Function Call error 
message if you try to run graphics on 
the monochrome monitor. If this error 
occurs, press function key 5 to run 
your program on the other monitor. 
Also, don't try to use Switch without 
a monochrome adapter, or the pro- 
gram will hang up when you press F4. 

Program Description 

Switch consists of a main section that 
performs the housekeeping functions, 
space for graphics commands, and 
two subroutines that transfer monitor 
control. The code for the subroutines 
that transfer monitor functions ap- 
pears in the IBM BASIC manual, Ap- 
pendix I, page 1-8. The code instruc- 
tions to reset the monitor appear to 
be straightforward. However, a pro- 
gramming trick is added to syn- 
chronize the color screen after switch- 
ing monitors. IBM's trick becomes ob- 
vious when the color screen rolls just 
before the screen is refreshed. There 
appears to be no way to overcome 
this problem, but, fortunately, it is 
only cosmetic. Finally, the main pro- 
gram and each subroutine contain 
their own screen menus, which do not 
scroll. 

Switch also includes a scaling func- 
tion, which allows graphics mode 
commands, such as LINE and CIR- 
CLE, to be expressed in what are 



known as "world coordinates." As 
shown in figure l, the usual IBM PC 
screen coordinates start at the top of 
the screen (rather than at the bottom, 
as in normal graphics applications) 
and range from (0,0) to (319,199). 
World coordinates start at the lower 
left of the screen and range from (0,0) 
to (1,1). Neither of these coordinates 
should be confused with the coor- 
dinates for text, which range from (1,1) 
to (24,40) and are used with the 
LOCATE command. 



In practice, it is easier to specify, for 
example, the midpoint of the screen 
by using (.5,. 5) in world coordinates, 
rather than (160,100) in IBM PC units. 
However, you can use both types of 
coordinate systems in the program. 
You can use IBM's screen coordinates 
without modification, but world coor- 
dinates must follow this format: 



FNY( y ) for the ^-coordinate 
FNY( x ) for the x-coordinate 



[continued] 



Listing I: Switch, a monochrome to color/graphics monitor switching program. 

Mr\ pru ********************************************************* 

20 REM "SWITCH" graphics design aid to support simultaneous graphics and text 

30 REM display for the IBM PC by Werner Grunbaum, July 1984. 

40 REM ******* ******** **************************************** * * 

50 KEY OFF 

60 KEY 4,"GOSUB 8000" + CHR$(13) 'Switch to monochrome monitor 

70 KEY 5,"GOSUB 9000" + CHR$(13) 'Switch to color monitor, medium resolution 

80 LOCATE 25,1 

90 PRINT "1:LIST 2:RUN 3:LOAD 4:MONO 5:COLOR" 

100 DEF FNY(Y) = CINT(199-(Y*199)) 

110 DEF FNX(X) = CINT(319*X) 

120 IF FLAG = 1 THEN GOTO 150 'Displays graphics on color monitor 

130 FLAG = 1: GOSUB 9000 

140 ' 

150 ' Begin graphics text at line 1000. 

7960 ' 

7970 LOCATE 1,1 'Sets graphics image at Row 1, Col. 1, for printing 
7980 GOTO 10000 
, 7990 ' 
8000 ' Switch to monochrome monitor 

8010 ' 

8020 DEFSEG = 

8030 POKE &H410, (PEEK(&H410) OR &H30) 
8040 SCREEN 
8050 WIDTH 40 
8060 WIDTH 80 
8070 LOCATE ,,1,12,13 
8080 LOCATE 25,1: PRINT "1:LIST 2:RUN 3:LOAD 4:MONO display 5:COLOR 

display" 
8090 LOCATE 1,1: PRINT "Ready for text editing at line 1000": LIST 1000-7500 
8100 RETURN 
8110 ' 

9000 ' Switch to color monitor 

9010 ' 

9020 PRINT "Color subroutine reached." 
9030 DEF SEG=0 

9040 POKE &H410, (PEEK(&H410) AND &HCF) OR &H10 
9050 SCREEN 1,0,0,0 
9060 CLS 
9070 WIDTH 40 
9080 LOCATE ,,1,6,7 
9090 COLOR 1,2 

9100 LOCATE 25,1:PRINT "1:LIST 2:RUN 3:LOAD 4:MONO 5:COLOR" 
9110 GOTO 100 
9120 RETURN 
10000 END 



JUNE 1985 -BYTE 223 



SWITCH 



Listing 2: FLOWCHRT.BAS, a flowchart application that describes, and was 
developed using, Switch. 



1000 CIRCLE (FNX(.505),FNY(.9)),23,1 
1010 LOCATE 3,19: PRINT "Start" 
1020 LOCATE 7,14: PRINT "Initialization" 
1030 LOCATE 9,18: PRINT "Display" 
1040 LOCATE 10,13: PRINT "Graphics Screen 
1050 LOCATE 12,9: PRINT "Fn4 Select 

1060 LOCATE 13,17: PRINT "Monitor" 
1070 LOCATE 15,5: PRINT 

PRINT 

PRINT 

PRINT 

PRINT 



Flowchart application 



Fn5" 



Mono Mntr. 


Color Mntr 


Edits Text 


Displays" 


at 


Graphics" 


Line 1000ff 


Stop" 


Retr 


Retr" 



1080 LOCATE 16,4 

1090 LOCATE 17,8 

1100 LOCATE 18,4 

1110 LOCATE 22,7 

1120 CIRCLE (FNX(.2),FNY(.14)),18,1 

1130 CIRCLE (FNX(.8),FNY(.14)),18,1 

1140 LINE (FNX(.295),FNY(.78))-(FNX(.7),FNY(.71)),2,B 

1150 LINE (FNXf^.FNYOeSSW-tFNXtJJ.FNYCej^.B 

1160 LINE (FNX(.295),FNY(.57 ))-(FNX(.7),FNY(.47 )),2,B 

1170 LINE (FNX(.06),FNY(.28 ))-(FNX(.36),FNY(.44 )),2,B 

1180 LINE (FNX(.64),FNY(.28 ))-(FNX(.95),FNY(.44 )),2,B 

1190 CIRCLE (FNX(.5),FNY(.3)),24,1 

1200 LINE (FNX(.5),FNY(.805))-(FNX(.5),FNY(.78)): DRAW 

1210 LINE (FNX(.5),FNY(.71))-(FNX(.5),FNY(.685)): DRAW 

1220 LINE (FNX(.5),FNY(.6))-(FNX(.5),FNY(.57)): DRAW "NH4 E4" 

1230 LINE (FNX(.5),FNY(.47))-(FNX(.5),FNY(.4)): DRAW "NH4 E4" 

1240 LINE (FNX(.7),FNY(.52))-(FNX(.8),FNY(.52))„,&HCCCC 

1250 LINE -(FNX(.8),FNY(.44)),„&HCCCC: DRAW "NH4 E4" 

1260 LINE (FNX(.8),FNY(.28))-(FNX(.8),FNY(.21)): DRAW "NH4 E4 

1270 LINE (FNX(.295),FNY(.52))-(FNX(.2),FNY(.52))„,&HCCCC 

1280 LINE -(FNX(.2),FNY(.44)) ((1 &HCCCC: DRAW "NH4 E4" 

1290 LINE (FNX(.2),FNY(.28))-(FNX(.2),FNY(.21)): DRAW "NH4 E4 



'NH4 E4" 
'NH4 E4" 




Photo l: A screen display of the flowchart application in listing 2. 



The scaling function is performed 
by line 100 (listing 1), which scales the 
^-coordinate, and by line 110, which 
scales the x-coordinate, translating 
them into IBM PC screen coordinates. 

Although using world coordinates 
requires extra keystrokes, it simplifies 
graphics layout. Just as important is 
that, when you use world coordinates, 
programs require only minor changes 
for adaptation to high-resolution 
mode as well as adaptation to plot- 
ters, different computers, and other 
types of output devices. 

An Application 

Listing 2 is a sample application that 
creates a flowchart to illustrate Switch. 
The color graphics display produced 
by this application is shown in photo 
I . Note that the code in listing 2 uses 
world coordinates for the graphics 
commands, as discussed above. 

Initially, I drew the flowchart on 
paper and made a screen layout by 
positioning the text on the screen. I 
determined the column and row cur- 
sor positions by moving the cursor 
and keeping a record of cursor posi- 
tions. Then I composed the appro- 
priate PRINT command statements 
on the monochrome screen. 

I programmed the graphics com- 
mands around the text, then tested 
and corrected the instructions in small 
groups. Finally, I added the arrows 
with the DRAW command and put in 
the broken lines with the bit pattern 
found in the BASIC manual. 

The same application could also be 
adapted to high-resolution mode, 
which allows more text to be shown 
but provides only monochrome out- 
put. This would require making 
changes in the SCREEN and WIDTH 
commands, deleting the COLOR 
command, changing the text locations 
to fit 80 columns, and so on. 

Conclusion 

In addition to developing your own 
graphics applications, you can use 
Switch to edit output from a number 
of commercially available graphics 
packages that provide output in the 
form of BASIC files. You can then 

[continued] 



224 BYTE • JUNE 1985 




than a speeding bullet. 



NOTHING CAN STAND UP TO 
SAFT'S NEW SUPER PROTECTION 
SYSTEM (SPS). 

Pull a fast one on the high cost of prote 
your computer's memory against sudden voltaj 
drops or power outages. Get the fastest-switch 
power protection unit on the market today. Ge 
the SAFT SPS-IOGOVA. 

The SPS-lOOOVAfcan do everything a ! 
System can do. . . except cost a lot of money. 
the line drops to 108 vo|s, the new SAFT 
leaps into action in 1 millisecond or less. B 
the cost is only about )f% of the UPS prici 
., 

Inquiry 445 for End-Users. 
Inquiry 446 for DEALERS ONLY. 




All computers, including ' Brand AT 

networks, are right for the power Hfits of 
the SPS- 1000 VA. It provides clean sine wave 
power, which is both voltage regulated 
^current limited. 

Best of all, the SPS- 1000 m is made by SAFX 
e hottest name in the batterv busi HSo are 
p 200 VA and 400 VA Standby ! ' Stems. To 

ve how extraordinary these syst ^really 
each comes with a 2-year warran 
For complete information on the truly super 
-1000VA, and 200 VA an ! )0VA, call SAFT at 
602-894-6864./ >r writt SAFT Electronic 
Systems Divisii i ! 1 W. 14th St. , 
Tempe, Arizona 85281. 

YOU. 



Inquiry 172 



BUY 

EPSON 



DIRECT 
FROM 



MIDWEST 
COMPUTER 

AND 

VIDEO SUPPLY 

Why pay shipping from 
the East or West Coast? 

We ship from St. Louis and 

most orders are shipped 

UPS same day! 

CALL TOLL-FREE 

1-800-527-5274 

IN MISSOURI 314/423-8300 

Best Prices! Fastest Delivery! 

No extra fee to use your 
Master or Visa . . . Call Us Last! 



CALL FOR PRICES 




LQ-1500 



Other Printers Monitors 

HOMEWRITER 10 CR-5650 A 
RX-100 CR-5650 G 

FX-100 CR-6600 

JX-80 CR-6700 

CR-420 
Diskettes . . . Lowest Prices! 

TIRED OF SOME 

MAIL ORDER RUNAROUND? 

WE DELIVER PRODUCT . . . 

NOT PROMISES! 

Dealer Inquiries Invited 




EPSON 

AND COMREX 



Midwest 
Computer & Video 
Supply Company 

P.O. Box 28448 
St. Louis, Missouri 63146 



C.O.D. 



SWITCH 



Cursor Location Made Easy 



If you'd rather not spend your time 
counting rows and columns in order 
to locate text in the right places for 
your graphics applications, try Black- 
board (listing A). This add-on to Switch 
lets you position the cursor where you 
want text to begin, hit Return and 
receive the screen location from the 
computer. The code fits into the un- 
used lines 9 500 to 9800 in Switch and 
adds line number 75 to initiate Black- 



board when you press function key 6. 
You can also add to lines 90 and 9100 
of Switch so that function key 6 is iden- 
tified as the Blackboard key. 

To use Blackboard, position the cur- 
sor using the cursor arrow keys and hit 
Return. After identifying the desired 
cursor location, Blackboard will switch 
you back to the monochrome monitor, 
where you can incorporate the row and 
column into a LOCATE statement. 



Listing A: BLACKBRD.BAS, an optional cursor -location subroutine for Switch. 

75 KEY 6,"GOSUB 9500" + CHR$(13) 'Switch to Blackboard 

9500 ' 

9510 ' Blackboard 

9520 ********* 

9530 PRINT "See color monitor and press F6 for Blackboard screen." 

9540 DEF SEG= H800: Z = PEEK (&H410) 

9550 IF Z= 125 THEN 9030 ELSE 9560 

9560 ON KEY (11) GOSUB 9730 

9570 ON KEY (12) GOSUB 9750 

9580 ON KEY (13) GOSUB 9770 

9590 ON KEY (14) GOSUB 9790 

9600 SCREEN 1,0,0,0 

9610 SCREEN 0: COLOR 7,0,1 

9620 LOCATE 25,1: PRINT "Move cursor with arrows. RETURN to mark." 

9630 LOCATE 1,1,1,2,6 

9640 FOR I = 1 1 TO 14:KEY(I) ON:NEXT 

9650 A$= INKEY$:IF A$< >CHR$(13) THEN 9650 

9660X = POS(0) 

9670 Y = CSRLIN 

9680 FOR I = 1 1 TO 14:KEY(I) OFF:NEXT 

9690 LOCATE 25,1 

9700 PRINT USING " Location ##,##. SWITCHED to monochrome.";Y;X; 

9710 LOCATE Y,X: GOSUB 8000 

9720 RETURN 

9730 IF CSRLIN>1 THEN LOCATE CSRLIN - 1 ,POS(0),1 ELSE LOCATE 24, 

POS(0),1 
9740 RETURN 
9750 IF POS(0)>1 THEN LOCATE CSRLIN,POS(0)- 1,1 ELSE LOCATE 

CSRLIN, 40,1 
9760 RETURN 
9770 IF POS(0)<40 THEN LOCATE CSRLIN,POS(0) + 1,1 ELSE LOCATE 

CSRLIN, 1,1 
9780 RETURN 
9790 IF CSRLIN<24 THEN LOCATE CSRLIN + 1,POS(0),1 ELSE LOCATE 1, 

POS(0),1 
9800 RETURN 



enhance or modify such files to suit 
your needs. 

With Switch, you can use one of the 
features of expensive CAD/CAM sys- 
tems in your office and home: display- 



ing graphics on one screen and graph- 
ics commands on another. By experi- 
menting and adding a few routines, 
you should be able to add other fea- 
tures to the program. ■ 



226 BYTE • JUNE 1985 



dBASE III vs. dBASE III 



M(XE POWERFUL/ 




£4Sy TO USE/ 



d BASE JU IS A DXAMA7JC AHD POWERFUL 
NEW BUSINESS PROGRAMMING LANGUAGE. 

-Bob Davies, President/SBT Corporation 



AFTER A TWO- HOUR. 
HANDS-ON SESSION WITH 
d&ASEHi f IT \S£V/£EYT THAT 
ASHTON-TATE HAS MADE A StbN/F/CANT 
ADVANCEMENT IN THE TECHNOLOGY 
OF MICflGPROCESSOR-BASED D8MS. 
-Robert Dew, Vice President/ 
The Computer Society 




RATHER THAN BEING 
AN tMlTATOR, ASHTON-TATE 
HAS ONCE AGAIN SHOWN ITSELF TO / ASHTON-TATE 
BE AN //MOMTO*. / HAS LISTENED TO 

-Larry Heimindinger/Origin, Inc. ^/ THEIR USERS. THIS 

PRODUCT ADDRESSES EVERY 
ITEM ON MY W/Stf'l/S7. 
-Mark DaVia/National Microware, Inc. 



ASHTON-TATE 
HAS USHERED IN A R&M/SZWCE. 
THE NEXT GEVER4T/OV OF SOFTWARE 
IS NOW A REAUTY. 

-Chris MacNeil/Abel Computers 



THE NEW REPORT 
GENERATOR IS SUPER TO 
USE AND MODIFX 
LABEL GENERATION IS 
ALSO A NICE. TOUCH. 
-Michael Broska/Agate 
Systems, Inc. 



dBASEIH IS BY 
FAR THE EAS/EST, MOST 
COST-EFFECT/VE 

WAY TO MANAGE. A 
LARGE. DATA &ASE. 

-Robb Auspitz/McEntyre Designs 



dBASE III IS MUCH EAS/ER 
TO OPERATE AND UNDERSTAND. 
PROGRAMMING WITH IT IS 
A BREEZE. 

-Michael Broska/Agate Systems, Inc. 



THE NATURAL CHOICE 
OF THE. NOVICE USER 
WITH EXPANDABLE NEED5 
dBASE III IS REALLY 
EASY TO USE I 
Alex Gersen/Alex Systems 




dBASE 111 
SUCCESSFULLY 
COMBINES THE 
FEATURES OF A POWERFUL 

DATABASE MANAGER WITH THE SIMPLICITY 
AND USER-FRIENDLINESS OF A FILE MANAGER 
II SETS THE STANDARD AGAINST WHICH ALL 
OTHERS WILL HAVE TO BE COMPARED. 

-Jerry Schneider. Vice President/WBS & Associates 



ASHTON-TATE. 

has asv/oo&y listened 

TO THE END USERS. 

-Dave Browning. Chairman/ 
Database SIG, Capital PC Users Group 

THE DEGREE 
OF RESPONSIVENESS 
WHICH ASHTON-TATE HAS SHOWN 
IN ITS WLUNWESS TO 1/S7E/Y AND ADAPT 
TO USER /YEEO SHOULD GUARANTEE IT A 
COMMITTED FOLLOWING IN THE 
MICROCOMPUTER COMMUNITY 
-Phillip Wood. Director of Data Processing/ 
Search Institute 



dBASE III™ is the powerful and easy-to-use relational database management system 

you've been waiting for. You can use it without hesitation whether you're a beginner or an expert. 

The big winner in the easy-to-use vs. more powerful controversy is you. If you want to know 

all about dBASE III, come to your Ashton-Tkte software dealer for a free demonstration. 

For more information call (800) 437-4329 ext. 232 or in Colorado call (303) 799-4900 ext. 232. 



Software from 



dBASE III and Ashton-Tate are trademarks tf Ashton-Tate. ©Ashton-late 1985. All rights reserved. 



/SHTDN -TOE 

Well put you in control. 



Inquiry 39 



JUNE 1985 -BYTE 227 



Publish the Most Imporl 



Names. Addresses. Phone numbers. 
All those little notes. . . If you stop and think 
about it, they're probably your most valuable 
business tools. But if you're like most people, 
those little pieces of paper never seem 
to be quite where you need them. Which 
means, they're everywhere. That's why 
we created "The Little Black Book."™ 
A practical little software package that 
takes all those names and numbers and 
puts them together. Then, prints them 
out quick. In little black book size. 

400 Entries. 30 Categories. 

Think of The Little Black Book 
as your personal contacts data- 
base. And it holds 400 of them, 
But what's really important is 
that it lets you index your 
contacts. Set up 30 different 
categories (like sales offices, 
friends, customers, etc.). 
Call them whatever you want. 
Put 30 entries in each index. 
Even all entries in multiple 
indexes. Now, sort and print 
alphabetically; by index; 
addresses and phone 
numbers. . . you name it. 
What you get is personal 
electronic white and yellow 
pages for your PC. Oh, and 
one more thing. Each entry 
can have a couple of lines of notes. 
So you can really make it personal 

Pops in. Pops out. Even dials. 

Here's how it works. You're preparing a 
spreadsheet and you need to look up a phone 
number. Tap <Alt> <Space bar> and up pops 
your 30 most frequently used entries. Hit the 
view number function key and the two-digit 
code next to the person you want, and there's 
the number. Tap <F1>, and you're back to 
your spreadsheet. Exactly where you left it. 

If you have a modem, here's a pleasant 
surprise. The Little Black Book may also be 
the most powerful autodialer you can buy for 
your PC. Tap the two-digit code, and your PC 
dials automatically through the modem. Includ- 
ing all the access and security codes for 
SPRINT, MCI, etc. No modem? Use our inex- 
pensive Dialer Board accessory. With the 



The Little Black Book 




400 names, 
addresses, 
and notes 
numbers 



Prints entries in 
30 categories that 
you create 



Includes a handsome 
cover and materials 
for your PC to make 
multiple books 



money you save on your calls, it'll probably pay 
for itself several times over. 

And now the book. Included in our pack- 
age is a handsome cover for your very own 
little black book. After you've entered your 
names, numbers, etc. , just tell it to print. A 
couple of quick keystrokes and bingo, out of 
your printer comes your little black book. On 
standard printer paper. Just cut along the 
dotted lines, staple to the heavy backing we 
provide and slip it into the cover. When you've 
changed a few numbers, 
or added a few 
addresses, print it 
again. The whole 
process only takes 

Print , cut, staple, 
then slip into the cover 



• 1985 Cygnet Technologies, Inc. 

The Little Black Book is a trademark and Cygnet is a registered trademark of Cygnet Technologies. Inc. SPRINT is a trademark of SP Communications. 
Lotus 123 and Symphony are trademarks of Lotus Development Corp. The Little Black Book works with IBM PC's and 100% compatibles. 




228 BYTE • JUNE 1985 



int Book¥)uTl Ever Own. 



For 

Never W 



minutes. Think of it this way. If you lost your 
address book, how long would it take you to 
replace it? Could you replace it? With The 
Little Black Book it's as easy as P R I N T. 
And it's always stored safely on diskette. 

Use it Yourself. 
Share it with Friends. 

Use The Little Black Book to 
keep track of sales prospects. Print 
one book for the office, one for home, 
and another for the road. Buy one pro- 
gram and make books for everyone in 
your company. Keep it in your pocket. 
On your desk. In your briefcase. . . 
enough already. The Little Black Book 
is pretty flexible. And quite frankly, we 
can't think of someone who wouldn't 
benefit from using it. 

Bells. Whistles. And a Guarantee. 

We want to tell you about our Area Code 
Directory window that pops in on command 
(know the area, find the city and vice versa). 
And about our screen dialer 
that dials phone numbers from 
other applications programs 
(like your existing database of * ; 

phone numbers, or an accounts 
receivable program). And that 
if you have a hard disk, you 
don't have to keep our disk in 
your A drive. But, we're 
almost out of room. What is 
important is that we work in 
background just fine with 
Lotus 123, Symphony, and vir- 
tually every PC-DOS program > 
on the market (even Sidekick). 

There are thousands 
of reasons to buy The 
Little Black Book, ^m 
but maybe the 



most important is the On-Off switch on your 
PC. With the switch off, other software is 
useless. But your Little Black Book is in 
your pocket. 

Call in your order today and get the spe- 
cial introductory price of only $49.95. Your call 
is TOLL-FREE and RISK- 
FREE because if for any reason 
you don't like The Little Black 
Book, simply return it within 
30 days. We'll refund 
your money. No ques- 
tions asked. 

Call today: 
1-800-621-4292 
1-800-331-9113 
(in California) 




CYGNET 

Handy software for busy people. 



»1»«. 



.{SS5M8t2-a.«$S 



at08 8»;«»¥«? St. 

P,C. 8»* 88800 

P»U Alto, CA 84000 

Tax & lftve«*ant eonawltanta. 

Rttttf«**r>£ planning. 

8»f r y KMtftvrant , . . . , 158 61 1 23-1834 

123 lawranoa Expraaaway 
8a* «}«•*, CA 14887-0121 
Seed tuncHaa. 
$«8&rvat1an§ t»*at bat. 
-C- 
Cy«<?»t Tachnolofiiaa, Tac .. (408)734-9948 
1298 iawranoa St. Bd. 
SannyvaU, CA 04889 
Volca/Data Produota 
Tfc* UttU Black. Bock 
Co«»«»1cat*oB» CoSyata* 



R)»«t«j4 t Inn 



Jen«»* : H*r ** (CPAJ , . . . j »*&) i87~8»D1 

S*i tfc, Jftthft ,.„.,.,,.( 5551 687-8888 

Paraaaal 
Canter Kadleat Of fk«. .... (555)1 23-6788 

B*vis &«nti atry [556] 987-8643 

Smtth Kadtcat Inaaranca . . . C555J78S-4321 

VataHnary MoapUal (885)887-8878 

Vlnca, Dr. *ery (565)123-8878 

Vatcort. Ed (AAA}. (865)888-3488 

Balaa OffUaa 

At.baaa, Mobtla.. (855)933-1284 

California, Loa Angataa. .. (556)887-8878 

Co Ur ado , Dan var (5551321-4321 

Idaho, Betaa (835)123-8878 

K«fi tvzkf , t«tfi1t'1 119 (588)2^2-0000 

Taaaa. Qallaa (568)1 ?3 ~ 1s fY|VT V 

$JA95 




Let Your 
PC Make 'em. 
In d Make 'em. 
IndMake'em... 



Address _ 



Charge By Phone or Send in the Coupon Today 

D Please send me The Little Black Book for $49,95. Name— 
If I don't like it, V\\ send it back for a full refund. 

D Also sen: ional Cygnet Accessory Dialer 

Board for $69.95. Ditto on the refund. 
(California residents add appropriate sales tax) 

$.... is enclosed/authorized 

(include $5. 00 for shipping and handling) 

D Check or money order enclosed 

□ Please bill my D Visa or Q MasterCard 




. State - 



. Zip^ 



I ■ ■ - ae i , — ™ — , . .,.,.; ......... .^.. _ . 

Vi: no C( >! } \ or P.O.*. Corporate m 
:iffl ••-.--: .ivvUhle In-afci iriquu -^346, 

To: Cygnet Technologies, Inc. 



I 



ExjHfatitHJ 



AbsohdemJS r o Questions A 3-DAY Mi 



nv: 1-800-6 
(in California) 1-800-331-9113 

GUARi 



Inquiry 126 



JUNE 1985 -BYTE 229 









Two's- 

Complement 

Numbers 

Revisited 



A new tool 



for dealing with 
the fundamentals 
of number storage 



Converting positive numbers 
from their binary to their 
decimal form (and vice 
versa) is generally easy to 
understand. Here, traditional conver- 
sion methods (and there are many) 
work just fine. One such method in- 
volves the use of a diagram known as 
a "value box" (see figure 1). Notice 
that the value on the far right in the 
box is 1 and each succeeding position 
to the left is double in value. 

For example, let's say that you want 
to find the decimal value of the binary 
number 01011111. Since this is an 8-bit 
binary number, you can use the 
8-position value box shown in figure 
1 . Insert the binary number into the 
empty boxes from left to right; add 
the numbers above each slot that con- 
tains a 1 ( and you'll arrive at the 
answer. 95 (see figure 2). 

It is also possible to convert decimal 
numbers to binary using the box in 



figure 1. For instance, to find the 
binary number corresponding to 43. 
first see if there i s a 43 on the top row 
of the value box. If there isn't (and 
there isn't), take the next smaller 
number. This would be 32. Place a 1 
in the corresponding slot in the box. 
subtract 32 from 43, and repeat the 
above process on the remaining 
amount (11) until is reached. Final- 
ly, fill in the empty slots with 0s and 
"read out" the binary number (see 
figure 3). 

Conversion becomes more difficult 
when you consider negative numbers 
on the computer. This involves finding 
the number's "two's complement" a 
representation that handles the prob- 
lem of having to indicate a number's 
"negativeness" using only Is and 0s. 
At the same time, it maintains the 
proper functioning of mathematical 
operations, so that addition, subtrac- 
tion, etc., of positive and negative 
numbers yield correct results. Rather 
than describe the traditional two's- 
complement conversion technique 
(which you can find in any introduc- 
tory programming book), we'll show 
you another method that yields the 
same result. We believe this new 
method is unique, easy, and more in- 
sightful than the traditional negative- 
number conversion method. For sim- 



plicity, we will continue to use 8-bit 
binary numbers. 

Tb find the two's-complement binary 
representation of both positive and 
negative numbers, use the standard 
value box with one simple modifica- 
tion—change the largest (leftmost) 
value in the box to a negative number 
(see figure 4). 

Tb illustrate the ease of converting 
negative numbers, we will use the 
value box in figure 4 to convert the 
binary number 10000011 to its 
decimal form. We put the digits 
10000011 into the value box, and by 
adding up the slots with Is in them, 
we get -128 + 2 + 1 = -125. The 
traditionalists among you can verify 
that 10000011 works out to -125 
using the conventional procedure. 

The beauty of the value-box tech- 
nique is that it connects a two's- 
complement binary number visually 
to its decimal value. As you can see 
in figure 4, the most negative two's- 
complement binary number that can 
be represented using 8 bits is - 128. 
Any other nonzero bit will simply add 
a positive amount to the number. Ad- 
ditionally, it is clear that a negative 
number must have a 1 as its leftmost 
bit and a positive number must have 
a as its leftmost bit From this you 
can see that the largest positive 8-bit 



230 BYTE • JUNE 1985 






by Gary Bronson and Karl Lyon 



binary number is 01111111 or 127. 

Do you want to find the two's-com- 
plement representation of -120? 
Using the value box illustrated in 
figure 4 reduces the conversion to 
finding what positive values, when 
added to -128. equal -120. Since 
-128 plus 8 is -120. the two's- 
complement representation of - 120 
is 10001000. Notice that you can 
almost read 10001000 directly as a 
decimal number. 

For the aficionados among you. the 
new technique is related directly to 
the original mathematical basis of 
twos-complement numbers. Actually, 
two's-complement numbers is a 
misnomer. TWo's complement is a pro- 
cedure for converting a negative 
decimal number into a weighted-sign 
binary number. Weighted-sign simply 
means that the leftmost bit of the 
binary number represents both a sign 
and a value. A 1 as the leftmost bit 
corresponds to a minus sign and a 
corresponds to a plus sign. The value 
assigned is equal to 2 raised to the 
n- 1 power, where n is the number of 
bits in the binary number. 

The value-box technique presented 
here is simply another procedure for 
performing decimal to weighted-sign 
binary conversions and finding what 
is commonly called two's-complement 
numbers. ■ 

Dr. Gary Bromon is a professor in the depart- 
ment of computer and decision systems at 
Fairleigh Dickinson University. He has been 
a regular visiting instructor to Bell 
laboratories in-house continuing education 
program and is a consultant to AT&T docu- 
mentation and educational organizations. He 
can be reached at 891 Ridgewood Rd.. Mill- 
burn. N) 07041. Karl Ujon is currently a 
senior studying computer science at Fairleigh 
Dickinson University. He is interested in all 
aspects of computer science and can be con- 
tacted at 2 1 Orchard PI. E. East Hanover, 
NJ 07936. 












128 


64 


32 


16 


8 


4 


2 


1 






















Figure l : An eight-position value box. 






128 


64 


32 


16 


8 


4 


2 


1 







1 





1 


1 


1 


1 


1 




64 +16+8+4+2+1 = 


95 




Figure 2: Using the value box to convert the binary number 1 1 1 1 1 1 
to its decimal equivalent. 






128 


64 


32 


16 


8 


4 


2 


1 










1 





1 





1 


1 


43 


= 32 +8 +2+1 






Figure 3: Using the value box to convert the decimal number 43 to 
its binary equivalent. 






-128 


64 


32 


16 


8 


4 


2 


1 






















Figure 4: An eight-position two's-complement value box. 





JUNE 1985 • BYTE 23! 



■40- 



; 






^9 





BYTE 



Programming 
Techniques 



Choosing a Programming Language 

by Gary Flfring 235 

Structuring BASIC 

by Arthur Huston 243 

Subroutine Libraries in Pascal 

by Bruce Webster 253 

Using Data Flow 

for Application Development 

by Wayne P. Stevens 267 

Debugging Techniques 

by Gregg Williams 279 

6502 Tricks and Traps 

by \oe Holt 295 

SOFTWARE-ICS 

by Lamar Ledbetter and Brad Cox. 307 



LEO BRODIE SAID IT BEST in the preface to his book Thinking FORTH: 
"Building models in the mind is both the challenge and the joy of program- 
ming." It's true. For most of us, software reigns supreme— we like what it does, 
and we like to make it do new things. Of course, we can't do it without hard- 
ware, but hardware is more like the canvas and paint that makes the painting 
itself possible. 

Because it is such a complex activity, programming requires both craft and 
insight. We hope that the articles in this theme section will help you become 
more intimate with both the theory and practice of programming. 

"Choosing a Programming Language," by Gary Elf ring, explores a decision 
that many of us usually don't think about: "What computer language should 
I use for this problem?" It is said that a (human) language determines the 
thoughts a person can have, and the same is true with programming languages. 
The fit between the language and the problem to be solved is only one of 
several issues that Elfring talks about in his article. 

Reinventing the wheel is a common human experience, bad enough when 
I reinvent your wheel but even worse when I reinvent my own. With some plan- 
ning, you can develop a library of tested, reliable subroutines for your own 
work that reduce the amount of repetitive programming, allowing you to con- 
centrate on the novel aspects of your current program. Arthur Huston's "Struc- 
turing BASIC" and Bruce Webster's "Subroutine Libraries in Pascal" present 
two schemes for doing this in two popular languages. 

The flowchart is a ubiquitous but mediocre design and documentation tool, 
but the data-flow diagram is a simple, useful tool that too few people know 
about. Wayne P. Stevens's article, "Using Data Flow for Application Develop- 
ment," explains one use of data-flow diagrams in the design process. 

Because we have not yet developed a computer that does what we mean, 
not what we say, program debugging still consumes a significant part of a pro- 
grammer's energy. In my article, "Debugging Techniques," I try to classify and 
explain the debugging techniques available to most of us. 

The 6502-family microprocessor is present in many of the most popular 
personal computers, but this relatively old chip still contains surprises for the 
unsuspecting programmer. Joe Holt's "6502 Tficks and TVaps" explains how 
best to use the 6502 if you have the occasion to program in 6502 assembly 
language. 

Finally, "Software-ICs," by Lamar Ledbetter and Brad Cox, describes an ap- 
proach to building reusable software. We asked the authors to describe the 
philosophy behind their product, Objective-C because it ties a conventional 
language available on many microcomputers— C— to the increasingly popular 
concept of object-oriented languages, which have traditionally been associated 
with more powerful machines than today's micros. 

By learning more about programming, we become better programmers and 
create better software. Enjoy this month's theme section. 

— Gregg Williams, Senior Editor 



JUNE 1985 -BYTE 233 




Gold Hill Computers brings the language of 
Artificial Intelligence to Your Personal Computer. 



Why every Computer Professional 
should know Common Lisp. 

You know how frustrating it is to 
deal with programs that are stupid and 
inflexible like those buried inside 
automated bank teller machines and 
airline reservation systems. You also 
know how frustrating it is to engineer 
solutions to today's information- 
processing problems with languages 
designed mainly for number crunching. 
It doesn't have to be this way. 

Programs based on the ideas of 
Artificial Intelligence and implemented 
in Common Lisp can be intelligent, flex- 
ible, and human-like. When you use 
Common Lisp in combination with 
artificial intelligence techniques, you 
will be able to solve problems you 
could never solve before. You will be 
able to write powerful programs that 
can accommodate naive computer 
users who want intelligible answers 
to questions quickly. 

The best way to get started is to buy 
Golden Common Lisp t " the first Common 
Lisp for personal computers. 

Golden Common Lisp: 
The AI Tutor 

Golden Common Lisp makes it easy 
for you to learn to use Common Lisp, on 
your personal computer, by yourself, 
at your own pace. The San Marco Lisp 
Explorer;" a 1000-frame interactive soft- 
ware slide show developed by Patrick H. 
Winston and San Marco Associates, 
takes you through Common Lisp and 
exciting artificial intelligence applica- 
tions like expert systems, intelligent 
data-access systems, and natural 
language interfaces. 




Golden Common Lisp requires an 
IBM, PC XT, PC AT, or 100% IBM PC 
compatible computer with 512K bytes 
of memory and PC-DOS 2.0 or higher. 
More memory is recommended for 
applications development. 

ORDER GCLisp TODAY using 
the coupon below. Or call our Sales 
Department at: 



617-492-2071 



Golden Common Lisp: The 
Complete Lisp Environment 

The Golden Common Lisp 
package includes: 

• the GCLisp interpreter 

• the GMACS editor 

• the San Marco Lisp Explorer 

• the On-line Help system 

• Lisp, 2nd edition by Winston 
and Horn 

• the Common Lisp Reference Manual 
by Steele 

• the Golden Common Lisp User's 
Manual 

Golden Common Lisp: The 
Powertool for Personal Computing 

Golden Common Lisp is an extensive 
subset of Common Lisp, supporting more 
than 400 Lisp primitives. Advanced 
features of Golden Common Lisp include 
co-routines for multi-tasking, macros for 
code clarity, streams for I/O, closures 
for object-centered programming, 
and multiple-value-returning functions 
for efficiency 



L L COM 



| Gold H ill Computers 
163 Harvard Street 
Cambridge, MA 02139 



Bl-85 



7^ 



Name 



Title 



Department 



Organization 



Address 



Phone 



_/ L 



Today's Date 



Type ot computer 

□ Enclosed is a check to Gold Hill 
Computers for GCLisp. 

□ Please bill my DM aster Car dD VIS A card. 



Card # 



J_ 



/ 



Expiration Date 



Signature 

Quantity Description Unit Price Total Price 





Golden 
Common 

Lisp 


$495 




Subtotal 




MA residents add 5% Sales Tax 




Total Amount 





We welcome inquiries about volume dis- 
counts, dealer discounts, and educational 
discounts for university -affiliated purchasers. 
I □ Please send me more information. \ 



L D H I 

163 Harvard Street, Cambridge, Massachusetts 02139 



Inquiry 197 



Golden Common Lisp and G C Lisp are trademarks o f Gold Hill Computers. The San M arco Lisp Explorer i s a trademark o f San M arco Associates. 

Lisp is copyrighted by Addison-Wesley Publishing Company, Inc. The Common L/sp Reference Manual is copyrighted by Digital Equipment 

Corporation. IBM PC, PC XT, PC AT, and PC-DOS are trademarks of International Business Machines. 



PROGRAMMING TECHNIQUES 



CHOOSING A 

PROGRAMMING 

LANGUAGE 



by Gary Elfring 



IF YOU WERE a carpenter building a 
new house, the first thing you would 
do would be to collect your tools. The 
tools you'd select would vary depend- 
ing on the type of job. The same thing 
should be true if you are a program- 
mer. You have a wide range of tools 
available, and you just choose the 
right tools for the job. Your tools are 
the languages that you program in 
and the environments needed to sup- 
port those languages. 

How do you go about selecting the 
right tool for the job? There are more 
programming languages available for 
microprocessors than most people 
could learn in a lifetime. What you 
need is a methodology that can be 
used to select one language from all 
the rest for a given application. 

This article presents a practical 
method for comparing programming 
languages. It has an inherent bias 
toward compiled high-level languages. 
Compiled languages are faster than 
interpreted ones, and most inter- 
preted languages also offer a com- 
piler version. Since program speed is 
often an issue, I chose compilers over 
interpreters. 



It's a three-step process 



The actual process of evaluating a 
group of programming languages can 
be broken down into three major 
steps. The first step is to characterize 
the application the language is being 
selected for. Then you must identify 
the features that a language should 
have in order to deal with the 
previously described application. 
Finally, you should take into account 
practical considerations to further nar- 
row down the language selection. 

The Application 

You can't choose a tool unless you 
know what you intend to do with it. 
You have to describe your application. 
Once you have this information you 
can then proceed to determine 
whether or not the existing language 
choices are the right tools for the job. 
To describe an application, you 
must consider both the type and size 
of the application. These questions 
must be answered before you can 
proceed any further in the language 
evaluation: 

What is the type or class of application? 
What level of language is needed? 



There are a number of different 
classes of program applications. An 
application can belong to a single 
class or several. Identifying the class 
of your application is relatively sim- 
ple and helps narrow the list of ac- 
ceptable languages. Some of the 
more common classes include scien- 
tific, business, and system program- 
ming; text processing; expert systems; 
and real-time control. 

Most programming languages are 
better suited to solving one particular 
class of problem than another. 
COBOL is one example. While it is 
easy to write maintainable business 
programs with COBOL, no one would 
expect to use this language to solve 
real-time control problems. 

Another consideration is the level of 
programming that the application will 
require. If you need low-level control 
of various machine-dependent fea- 
tures, then a very high level language 

[continued) 
Gary Elfring (4N899 West Mary Dr., St. 
Charles. IL 601 74) is the president of Elfring 
Consulting Inc., a microprocessor consulting 
firm. His interests include robotics and arti- 
ficial intelligence. 



JUNE 1985 -BYTE 235 



CHOOSING A LANGUAGE 



would be a bad choice. 

Is it too big to be expressed as one module? 
Is it too big to be fully understood by one 
programmer? 

lust how big is the potential applica- 
tion? Large programs should not be 
squeezed into a single module. This 
implies that the language chosen 
must support separate program 
module compilation. It is always 
easier to compile many small pro- 
grams and combine them into one 
large version than to compile one 
gigantic program. 

Related side questions consider the 
complexity of the application itself. 
Can a single programmer understand 
it? If not, then the language chosen 
must support multiple program 
modules and some way of managing 
them. Also, remember that a number 
of programs start out small and end 
up growing quite large. 

Language Features 

After characterizing the nature of the 
software application, the next step is 
to identify what features are required 
or desired to implement it. This list of 
features can then be used to rate each 
available language. The result of this 
process will be a short list of accept- 
able programming languages. 

Wftflt audience was the language designed for? 
What class of problems was the language 
designed to solve? 

Some languages were designed for 
a specific audience instead of a class 
of applications. This type of language 
was typically designed to do some- 
thing like teach programming tech- 
niques. A language that was designed 
to solve a specific class of problems 
will generally do a much better job at 
that task than one designed to teach 
the techniques of programming. 

Most languages were designed with 
some class of applications in mind. 
This inherent bias toward certain 
classes of problems will affect the way 
a language is used on other classes 
of problems. A short history of each 
language under consideration is nec- 
essary to aid in the evaluation of that 
language. For example, knowing the 



history of COBOL and APL will allow 
you to reject them immediately as lan- 
guages for programming a real-time 
control application. 

Can the syntax be understood? 
Is it terse or verbose? 
Is it consistent? 

The syntax of a language should be 
both readable and intelligible. A syn- 
tax should aid the mechanical aspects 
of reading it and help you understand 
what the program is doing. 

A syntax should be concise, yet ex- 
pressive. Verbose languages can turn 
what should be a one-page program 
into a multipage listing. Since, general- 
ly, the longer a program is, the harder 
it is to follow, such verbose syntax can 
actually defeat its own purpose of in- 
creasing the understandability of a 
program. 

Inconsistency in syntax makes a lan- 
guage hard to learn. It also increases 
the possibility of error significantly. 
The syntax should be an aid to pro- 
gramming, not a hindrance. 

What data types are supported? 
How are data types treated? 

The organization and representa- 
tion of data is an important part of 
programming. Some basic data types 
on microprocessors are 8-, 16-, 3 2 -bit 
integers, single- and double-precision 
floating point, records/structures, 
pointers, bit fields, and arrays of all 
data types. Some compilers even 
allow you to create user-defined data 
types. 

Structures or records, in particular, 
are important data-handling tools. 
They let you group items of different 
data types together so they can be 
referenced as a unit. The more con- 
trol a language gives over the use and 
construction of structures, the easier 
it will be to handle data. 

The use of data types not only gives 
you great flexibility in how you manip- 
ulate data but also lets a good com- 
piler do a considerable amount of 
error checking. The compiler can 
check for mismatches in the use of 
data types and flag them as errors. 
This will catch a large percentage of 
the simple errors that a programmer 



makes, well before the program enters 
the debugging stage. For these 
reasons a language should offer as 
rich a selection of data types as is 
possible. 

Does the language support structured 

programming? 
Are exceptions possible? 

Languages that support structured 
programming are inherently more 
safe to use than those that do not. A 
programming language should at 
least offer you the choice of using 
structured programming techniques. 
Modern structured programming 
generally requires, at a minimum, a 
grouping syntax (either functions or 
procedures), two types of decision 
statements (generally the IF and 
CASE statements), and two types of 
loops (counted and uncounted). 

Sooner or later exceptions will arise 
that must be dealt with in some man- 
ner. Languages that allow no excep- 
tions can make it quite difficult to 
write certain kinds of programs. Some 
languages totally rule out exceptions 
or can deal with them only in an un- 
controlled fashion such as with a 
GOTO. One structured way of han- 
dling exceptions, the BREAK com- 
mand, is used as an escape from 
counted and uncounted loops. It is 
preferable to the use of a GOTO and 
is featured in languages like Ada, C, 
and Modula-2. 

Is portability needed? 

How portable is the language? 

The portability of programming lan- 
guages is becoming more and more 
important in the world of micropro- 
cessors. Large amounts of time and 
money are spent developing software 
that becomes obsolete when the next 
microprocessor comes out. Some 
method is needed to protect this large 
investment in software. The answer is 
portability. 

There are several levels of portabili- 
ty. At the lowest level, the language 
is portable from compiler to compiler 
on the same microprocessor. The 
next level of portability covers the 
ability to port code from one micro- 

{continued) 



236 BYTE' JUNE 1985 




COLOR MAGIC: IBM-PC compatible 
S100 BUS graphics board. 

Gives your 16 bit SI 00 BUS system IBM-PC com- 
patibility. ■ RGB and composite outputs ■ IBM PC 
keyboard port ■ All IBM-PC display modes plus 
two higher resolution modes 
PRICE 1 6K - $595.00 32K - $695.00 




III llnLiiii 



LIGHTNING ONE: The standard by 
which other 16 bit boards are judged. 

The LIGHTNING ONE offers math processing ca- 
pabilities only available on large mainframes pre- 
viously. ■ Up to 10MHz operation ■ 8MHz 8087 
option ■ Optional 8089 coprocessor 
PRICES start at $425.00 8086/87 (8MHz) $900.00 
8086 (10MHz) $625.00 



MEG ARAM: High performance high 
density Dynamic RAM. 

Offers cost effective memory expansion in 16 bit 
systems. ■ No wait states with 8086's up to 10MHz 
■ Only one wait state with 6MHz 80286 ■ Up to two 
MegaBytes of memory 

PRICE . 256K- $595.00 . . .512K- $1095.00 
1024K- $1995.00 . . 2048K - $3795.00 



THUNDER 186: Single board 16 bit 
microprocessor offers 10MHz 8086 
performance. 

THUNDER requires no other support boards. 

■ 256K RAM ■ FDC controller ■ 2 Serial ports 

■ Parallel printer port ■ Concurrent DOS is 
included 

PRICE $1595.00 






LIGHTNING 286: Highest performance 
processor available on the S100 BUS. 

This 6MHz 80286 offers performance equivalent to 
a 14 MHz 8086. ■ 5 times IBM-PC performance 
■ 16 Mbyte physical memory space ■ 1 Giga 
byte virtual address space 
PRICE 80286 - $1095.00 80286/287 - $1649.00 



Computer Systems . . . 

LOMAS DATA PRODUCTS offers a full line of 



mis, mcludi: 



a requirement for a high pertc 

computer sy r x ~ 

call LOMAS 

SI 00 BUS PC compatibles. 



wma-«alw3 



Prices and specifications are subject to change. 

*CPMm, MPfM-86 and CONCURRENT DOS are trademarks ol Digital 
Research. 
**MS-DOS is a trademark of Microsoft. 



LDP will be closed lor summer vocation 
from July 1st to July 5th. 



NEW PRODUCTS! 

■ WINCHESTER/FLOPPY 
CONTROLLER 

Controls both floppy drive and 
Winchester drives from one board. 
Save slots and money. Features include: 
error correction, 16 head control, 
mixed BVa and 8" floppy drives. 
The price is less than one popular 
manufacturer charges for a floppy only 
controller. PRICE $649.00 

■ MEMORY DISK 

I/O mapped memory drive expandable 
to 16 Mbytes by cascading boards. 
Each board may contain up to 2 Mbytes 
and may be battery protected. Parity is 
included to insure corrupted data does 
not go undetected. The board is en- 
tirely COMPUPRO software compatible. 

PRICE 2 MBYTES $2595.00 

Dealer inquiries invited. 




LOMAS DATA PRODUCTS, INC. 

66 Hopkrnton Road, Westboxo, MA 01581 
Tel: (617) 366-6434 □ Telex; 4996272 

For orders outside the U.S., contact our dealers: 

□ Australia — LAMRON PTY. LTD., (02 808-3666 
D England — FULCRUM 0621828763; RATIONAL 

SYSTEMS 0908-613209 or 0908-611349. 
Sharpborn Ltd., Tele: 01-876 4559 
Telex 25520 CHASE G 

□ Malaysia — EXA COMPUTER (M) SENDIRIAN BERHAD, 
795284 

JUNE 1985 -BYTE 2 



CHOOSING A LANGUAGE 



processor to another of the same 
level, for example, between 16-bit 
microprocessors. A final level of por- 
tability is between any two micropro- 
cessors. 

If an application can be ported from 
an 8-bit microprocessor to a 3 2 -bit 
one (say from Intel's 8051 to 
Motorola's 68020), then the language 



is truly portable. Note that it is prob- 
ably unreasonable to expect that any 
application be ported all the way 
down from a 3 2 -bit microprocessor to 
an 8-bit one, but you should expect 
a language to offer upwardly compati- 
ble extensions. 

How is I/O (input/output) handled? 



COVER THE MARKETPLACE 



TT 



/I A 7 J M =£i 1*1 =H =M i [•] C M 



IBM BLUE AVAILABLE. 



BIG BLUE 



faBBBI; BIG BLUE __-4| 

HEj^spBaif IT tyMwnj Srroregl« s "*■ 

IcSNA/RJE ' j 


1 N '^ r 
WB8C/3Z701 

HL IBM3270 1 
1 **fc,tion Software , 


_ BKSBUJE IL^I 

^tems Stroteglei l" c ' 


■ cBsc/RJE 

fe ^2mo/37S0/HASP: 
g "tiUaticr, Software ■■. 


' >'"^Bl ,. IBM 3770 - 
♦ 1 i ■ EntfaBon Softwa^ 




CSNA/3270J 








e IBM3270 
emulation Software 





OEMS: Let Systems Strategies help you cover the large, profitable 
marketplace of IBM™ mainframe communications. Our software allows your 
computer system to emulate IBM terminals, workstations and printers. 

EXPERIENCE: As the first to develop 3270 SNA and 3270 BiSync sup- 
port under UNIX™ Systems Strategies' experience can save you development 
time and money. Let us keep up with the changing shades of Big Blue as IBM 
communications evolve, 

BROADEST PRODUCT RANGE: We have the broadest range of 
communications software available for UNIX and non-UNIX environments, 
allowing mini and micro computer systems to communicate with mainframes 
or networks using SNA/SDLC or BiSync. The CCITT X.25 interface is also avail- 
able. Our family of products can serve your growing information access needs, 
now and in the future, 

COMPLETE EMULATION: Systems Strategies provides a perfect match 
to Big Blue. Our products provide full SNA/3270, BSC/3270, SNA/RJE (3770) 
and BSC/RJE (2780, 3780, HASP) emulation. The integrated Applications Pro- 
gram Interface provides the capability for interactive transaction processing, file 
transfers and fully integrated applications across mainframe and workstation 
boundaries. No IBM host modification is required. 

PORTABILITY: All of our software is written in 'C, using internal designs 
and architecture which make the communications and device emulation logic 
independent of the hardware and operating system, and thus easily portable. 

Call or write today for more information: 
Systems Strategies Inc. 225 West 34th St, New York, NY 10001 , (2I2) 279-8400. 



Systems Strategies Inc. 

An AGS Company 

Experience... the main link In communications software 

IBM is a tf.idem.ifk of International Business Machines Cofp UNIX is a ifatlrnwrk of ATAT Bcii Laboratories 



Is access to other programming languages 

needed? 
Is stand-alone product support required? 
Is real-time control needed? 

Not all programs need file or ter- 
minal I/O. However, almost anyone 
would agree it is a useful function. 
Device-independent I/O is preferable 
to any other kind. Languages that 
make no distinction between different 
types of I/O devices are easier to pro- 
gram in. They are inherently more 
consistent since they don't differen- 
tiate between hardware devices. 

Some applications require the use 
of more than one language. The sec- 
ond language is typically assembly 
language. If your application needs an 
interface to another language, then 
the amount and type of support for 
the other language must be assessed. 

Is the software application going to 
be for a stand-alone product (such as 
a microprocessor-controlled blender) 
or a product run on a computer with 
an operating system (such as a data- 
base-management system)? A lan- 
guage for a stand-alone application 
must be able to get "close" to the 
hardware; that is, it will need features 
that allow absolute control over ad- 
dressing, I/O, and interrupts. It will 
also generally have to run from some 
kind of ROM (read-only memory). 
However, a product such as a data- 
base-management system interacts 
with the hardware through the oper- 
ating system and runs from RAM 
(random-access read/write memory). 

Yet another consideration is real- 
time control. Does the intended lan- 
guage support it, or will it at least 
allow itself to be modified or ex- 
tended to do so? 

Practical Considerations 

There is more to selecting a program- 
ming language than a simple com- 
parison of features. In the real world 
a number of practical considerations 
enter into the picture. They range 
from considerations about existing 
compilers to questions about the de- 
velopment tools for a particular lan- 
guage. This series of qualifications is 

[continued] 



238 BYTE • JUNE 1985 




Double your IBM PC's 
processing speed for under $650.' 



AT speed for your IBM PC, with 
QuadSprint by Quadram. 

Quadram introduces a rapid advancement 
in IBM PC performance. QuadSprint. The 
innovative expansion board that doubles 
the processing speed of your personal 
computer. Just plug the totally 
transparent QuadSprint into your system 
and watch all your PC programs (Lotus 
1-2-3, dBASE 111, Wordstar, and more*) run 
faster and more efficiently than ever 
before... without special commands or 
interface software. 

But best of all, you can pick up QuadSprint 
without running up a huge bill. At less 
than $650, QuadSprint is about half the 
price of other accelerator (turbo) cards 
and turns your PC into a machine that's 
virtually as fast as the new PC AT. 



So make your own rapid advancement. 
To the Quadram dealer closest to you . 
And see how to double the processing 
speed of your IBM PC. With QuadSprint 
by Quadram. 




QUADRAM 

** An Intelligent 9/stems Company 



4355 International Blvd./Norcross, Ga. 30093 
(404J923-6666/TWX 810-766-4915 (QUADRAM NCRS) 

Inquiry 343 




IBM* PC . PC AT are registered trademarks of International Business Machines Corporation. " 1-2-3 is a trademark of Lotus Development Corp. dBASE III is a 
trademark of AshtonTate. Inc. Wordstar is a trademark of MicroPro Corp. ©Copyright 1984 Quadram Corporation. All rights reserved. 



Inquiry 353 



The Best Source 
Debugger for C 



Interactive testing: enter any C 
expression, statement, or function call, 
and it is immediately executed and the 
result displayed. Direct execution 

allows fast and thorough testing, 
makes learning C a snap. 

Run-time checking: execution stops 
upon exception, and source code dis- 
played. Exceptions include array refer- 
ence bounds, stack overflow arithmetic 
or floating point error, etc. Pointers are 
checked for null or out of range values. 

Breakpoints: any number of break- 
points can be set anywhere in your 
program; breakpoints are set with screen 
editor, not by line numbers. Breakpoints 
may be conditional. Single-step by 
statement. Interrupt execution from 
keyboard. Breakpoint, exception, or 
interruption is always shown with source 
code. Examine and modify data, look 
at stack history. Even change your pro- 
gram and then resume execution! 

lint-like Compile-time checking: 

argument number and sizes are checked 
for consistency. Never mismatch source 
and object code. 

The best feature of all: the fastest C 
interpreter is right there when you're 
debugging. Make changes in seconds 
with the integrated screen editor. Test 
the changes immediately, running your 
program at compiled speed. Save source 
code for your favorite compiler, or make 
stand-alone executable programs. Noth- 
ing else is needed. Instant-C is the 
fastest way to get working, fully 
debugged C programs available 
today. 

"We sincerely feel that Instant-C can have a 
major positive impact on programmer produc- 
tivity." Computer Language, Feb. 85, pp. 82-83. 

Instant-C is only $495. Money back 
for any reason in first 31 days. 

Rational 

Systems, Inc. 

(617)653-6194 

P.O. Box 480 

Natick, MA 07160 



CHOOSING A LANGUAGE 



used to further narrow the language 
choices based on real-world criteria. 

How available is the language? 
How popular is the language? 

How many different compilers are 
available for this language? Are they 
compatible with each other? How 
hard is it to locate compilers for this 
language? Answers to these questions 
describe the availability of a language. 
Generally, the more available a lan- 
guage is, the safer it will be to use. 

It is important to choose a language 
that has an established history and 
predictable future. Will the language 
you choose be around tomorrow or 
does it belong to the "Language of 
the Month" club? Brand-new lan- 
guages may offer many desirable fea- 
tures. But the future of both the lan- 
guage and its new features can be un- 
certain. If it doesn't catch on, the 
language and its special features may 
die. 

How do you learn the language? 
What is the source of this information? 

If the language chosen is not in your 
programming repertoire, you are go- 
ing to have to learn it. How do you 
learn to program in the language? Are 
there good reference materials or out- 
side help available to teach you the 
language? The best language in the 
world is no help to you if you can't 
figure out how to use it. 

What are the characteristics of the compiler? 
Is the code produced quick, compact, and 
predictable? 

Theory and practice must merge in 
the creation of a compiler. The com- 
piler should operate quickly and be 
reliable. It should not require a great 
deal of memory or disk space. Final- 
ly, the amount of support from the 
manufacturer is important. 

Compilers translate high-level in- 
structions into code that a particular 
computer can execute. The code that 
they produce must be efficient both 
in size and speed. Furthermore, the 
execution time and size of the code 
produced by the compiler should be 
reasonably predictable. That is, the 
compiler should be consistent in the 



quality of the code it produces. 

What hardware-development tools are 

available? 
What software-development tools are 

available? 
What kinds of software libraries are 

available? 

The types of tools associated with 
a programming language are impor- 
tant considerations in that language's 
evaluation. Tools make you significant- 
ly more productive and ease your 
work load. 

Tbols come in many different forms. 
Hardware-development tools, such as 
an in-circuit emulator, are indispens- 
able in the development of software- 
controlled products. The availability of 
this type of tool could easily alter a 
choice of a programming language. 

Another form of tool is software- 
oriented. Software-development, de- 
bugging, and management tools are 
quite popular but not compatible with 
all programming languages. A good 
directory program for file mainte- 
nance is also a tool. The purpose of 
these tools is to make the job of pro- 
gramming as easy as possible. 

One final type of tool is the software 
library. It is often more feasible to pur- 
chase a library of software functions 
than to write your own. Examples of 
software libraries include graphics 
and real-time control packages. The 
availability of good software libraries 
at low cost is an important practical 
consideration in the choice of a lan- 
guage. 

Language Suitability 

Now that you know how to describe 
the application, programming fea- 
tures, and practical considerations, 
the selection process can begin. The 
end result of this evaluation process 
is a list of from one to three languages 
that are ideally suited to your par- 
ticular application. If you end up with 
more than one language on your list, 
then any one of these can be 
selected. This is the only point in the 
language-selection process where you 
can apply your own personal bias and 
not affect the quality of the final lan- 
guage choice. ■ 



240 BYTE • JUNE 1985 



Get your Mac to open up* 




^w^ 

v.^ 







j fexruXuSffiiJj ii (fir "jiAcocA 




Macs a terrific machine. 
Versatile, industrious, under- 
standing, easygoing, fun. 

Trouble is, Mac lives in a world of his own. 
He doesn't communicate well with his co- 
workers. Doesn't work well with them. 

Now there's help. 

The Microsoft® MacEnhancer™ expansion 
system can get him out of his shell. It'll open 




llll 1 I II ill HI III! till I 3 fill 



his communications channels. Expand his 
horizons. 

MacEnhancer simply plugs into Mac's 
communication port. It lets you keep that 
original port while adding an IBM®-type 
parallel connector for your printer and two 
IBM-type serial connectors. 

So now Mac can hobnob with even the 
finest letter quality printers. Cope with 
hyperactive dot-matrix printers. 

And it comes with MacEnhancer terminal 
software. A communications program that 



Microsoft is a registered trademark and The High Performance Software and MacEnhancer are 

trademarks of Microsoft Corporation. IBM is a registered trademark of International Business Machines Corporation. 

Macintosh is a trademark licensed to Apple Computer, Inc. 



/ 

lets Mac use a modem to talk 
with other computers— from personal to 
mainframes. 

All without losing the loveable Mac per- 
sonality Just "point and click'.' 

Getting Mac to expand his horizons 
wasn't easy, but a Ji^n^CACT 
somebody had M!OKwO<Jr |. 

tn do if And ^ e ^Sk Performance Software™ 

who better than Microsoft? We've written 
more Macintosh™ programs than any other 
software company Including Microsoft 
Word, Microsoft File. And Microsoft BASIC, 
Mac's first language. 

For more information, or to free associate 
with your nearest Microsoft representative, 
call (800) 426-9400. In Washington State, 
Alaska, Hawaii and Canada, call (206) 
828-8088. 






*+i-rt-t-i~i-i-fi~H i -1 H i -V -I Lj :y 



^f.-i...-rFT I - IiU. I i-H F 






FTO 





Presenting four upstanding Citizens who give faithful 
service above and beyond the call of duty Citizen" dot matrix 
printers ; precision-engineered by the people whoVe become 
a wristhold word in fine ; precision-engineered watches. 

The Citizens are sleek ; quiet ; and reliable. They ; re 
extremely easy to use. And feature a unique push-feed 
paper system that makes paper loading a breeze. What's 
more ; the Citizens are IBM® and Epson®compatible. Can print graphics. 

Can dash out output at 160 cps (40 cps correspondence-quality) 
or a blazing 200 cps (50 cps correspondence quality). And offer the 
industry ; s longest warranty— 18 months on all parts and labor. 

The Citizen MSP-10/15 and MSP-20/25 Four solid reasons to 
stop by your dealer. 

And watch what the Citizens can do for you. 
For more information call 1-800-556-1234, Ext. 34 
In California, 1-800-441-2345, Ext. 34. g=| pfTITFlNT 
Or write Citizen America Corporation,-^^ vyl 1 IZj-CillI 
2425 Colorado Avenue ; Santa Monica ; C A 90404. 



©1985 Citizen America Corporation. Citizen and the Citizen logo are trademarks of Citizen Watch Co. 7 Ltd. IBM is a registered trademark 
of International Business Machines Corporation. Epson is a registered trademark of Epson Corporation. 

inquiry 83 



PROGRAMMING TECHNIQUES 



STRUCTURING 

BASIC 



by Arthur Huston 

Creating a library 
of subroutines 



COUNTING ALL of its dialects, BASIC 
is now among the world's major lan- 
guages. Even so, many programmers 
complain that it lacks features found 
in more structured languages. By 
creating a library of procedures and 
functions, however, you can compen- 
sate for some of the language's short- 
comings and write more powerful pro- 
grams in less time. 

Most structured languages have two 
types of library routines: functions 
and procedures. In BASIC the former 
is a subroutine that returns only one 
value; the latter returns more than 
one, or none. It's not possible, how- 
ever, to incorporate into BASIC the 
concept of local variables or to pass 
variables of different names into sub- 
routines. And since BASIC requires 
line numbers, inserting a subroutine 
into a program could overwrite exist- 
ing code. 

For these reasons, BASIC program- 
mers usually rename the variables 
and renumber the code when they re- 
use a subroutine in a new program or, 
worse, they only use subroutines to 
eliminate redundant code in one pro- 
gram. With some discipline, however, 
you can force BASIC to mimic true 
procedures and functions and thus 



eliminate redundancy between pro- 
grams as opposed to within a single 
program. 

Newer dialects of BASIC, including 
recent versions of DEC VAX BASIC, 
the Microsoft Business BASIC Com- 
piler, Better BASIC from Summit Tech- 
nology, and True BASIC from True 
BASIC Inc., implement these concepts 
and bring much-needed structure and 
power to the language. I will concen- 
trate instead on the garden-variety 
Microsoft BASIC interpreter and such 
offshoots as GW-BASIC, Applesoft 
BASIC, and Commodore 64 BASIC. 

Mimicking more structured features 
requires that you invent a set of pro- 
gramming rules and adhere to them 
rigidly. You may find at first that the 
discipline required inhibits your pro- 
gramming, but consider the benefits 
of assembling a library. When you 
start a program you can concentrate 
on its purpose rather than worry 
about chores like menus and date ma- 
nipulation. Your programs will have a 
consistent user interface, and entire 
sections of code will be thoroughly 
debugged before you start. Anyone 
familiar with your library can maintain 
your code, and porting your programs 
to a different computer will be 



easier— you simply convert your 
library. 

Line-Numbering Rules 

Without line-numbering rules, merg- 
ing in a subroutine might mean over- 
writing existing code or require scan- 
ning programs for a free set of line 
numbers (and then loading, renum- 
bering, and saving the subroutine, re- 
loading the program, and finally 
merging in the subroutine). With line- 
numbering rules, you need only break 
a program into logical parts and 
assign line numbers to each part. 

Programs always begin with ini- 
tialization, or declaration. A set of 
remarks should tell you what the pro- 
gram does, and the early lines al- 
locate string space and dimension all 
arrays. Ideally, you should initialize 
every variable with special meaning in 
the program code and add a remark 
that explains its function. Reserving 
line numbers 0-999 leaves more than 
enough room. 

Some programmers like to put ini- 
tialization at the end of the program 

[continued] 
Arthur Huston (154 Park St., Stougfiton, 
MA 02401) is a programmer of financial 
software in Boston. 



JUNE 1985 'BYTE 243 



STRUCTURING BASIC 



and call it with a GOSUB. I find such 
programs less readable; more impor- 
tant, they are incompatible with most 
compilers, which require that the 
code dimension arrays before refer- 
encing them. 

Program code comes next. You will 
want to make judicious use of your 
subroutine library; this code simply 
calls the subroutines in the correct 
order and gives your program its 
uniqueness. Let's set aside lines 
1000-9999. 

Next are program subroutines, 
which are not part of your library but 
are of use only to the program in 
which they appear. Line numbers 
10000-14999 should be enough. 

Specific applications require ap- 
plication subroutines. A payroll sys- 
tem, for example, might use a routine 
to read employee names from a file; 
a stock portfolio might have a pro- 
cedure to calculate which stocks to 
buy Reserve lines 1 5000-24999. 

Last are the system subroutines— 
your software library, which is useful 
in every program you write. Let's set 
aside the lion's share of your pro- 
gramming space, lines 2 5000-65000. 
You'll be surprised at how quickly 
you'll fill it up. 

We can differentiate the system sub- 
routines further into their logical func- 
tions. Lines 25000-29999 might han- 
dle user-interface routines such as 
menus; 30000-34999 could be re- 
served for file handling; 35000-59999 
for all-purpose subroutines like data 



handling and string manipulation; 
lines 60000-65000 for ON ERROR 
GOTO routines. See table 1 for a sum- 
mary of these line-numbering rules. 

In some versions of BASIC, placing 
the subroutines immediately after ini- 
tialization results in faster program ex- 
ecution. The BASIC code stored in 
memory is simply a linked list, with 
each line pointing to the next one; it 
follows that lines near the beginning 
of a program will be found faster than 
those at the end. The current versions 
of Microsoft GW-BASIC, however, 
search for the line number the first 
time it is called and thereafter branch 
directly. The time saving is so minimal 
for this popular version of BASIC that 
I have not placed my subroutines at 
the beginning. 

There are, however, a number of 
caveats to using this system. When 
you create your library, make sure 
there's no overlap from one routine 
to the next. If you must add features 
or debug a routine, insert new code 
between lines rather than extending 
the routine. Lastly, renumbering your 
programs in increments of 10 would 
render the entire scheme useless. You 
can, however, renumber the program 
code and program subroutines 
sections. 

These line numbers are not cast in 
stone; the point is to predict how 
many lines each section of your code 
will require and then allocate them ac- 
cordingly. You'll notice, for instance, 
that I gave the largest section to sys- 



Ikble 1: This line-numbering scheme is only a suggestion: the important thing 


to do is predict how many 


lines each section of your code will require. \n 


addition, the initialization part should always be the first section of code. Note 


that in some versions of BASIC, placing the subroutines immediately after 


initialization will speed up program execution. 


Code Section 


Lines 


Initialization (declaration) 


0- 999 


Program code 


1000- 9999 


Program subroutines 


10000- 14999 


Application subroutines 


15000 -24999 


System subroutines 


25000 - 65000 


—user interface 


25000 - 29999 


—file handling 


30000 - 34999 


—all-purpose routines 


350.00 - 59999 


-ON ERROR GOTO 


60000 - 65000 



tern subroutines. Few of these are 
used in any one program, but all of 
them will be needed to accommodate 
your library. 

Some programmers never begin 
subroutines with remarks because 
many compression programs delete 
the REMs, leaving undefined lines. I 
always reference remarks, but I use 
more sophisticated compression rou- 
tines that avoid the conflict. Some of 
these packages include The BASIC 
Development System from SoftTool 
Systems on the IBM PC, GPLE from 
Beagle Bros, on the Apple, and the 
Snapp Utilities from Snapp Inc. on the 
TRS-80. All three packages contain 
other utilities to ease programming. 
Note that an alternative method 
would place remarks just prior to the 
referenced line (e.g., placing REMs on 
lines 5196-5199 for a subroutine be- 
ginning on line 5200). 

Naming Rules 

Giving subroutines descriptive names 
certainly helps to explain their use, 
but the eight-character filename limit 
of many BASICS is severely restricting. 
For a naming convention, therefore, 
I suggest that the starting line number 
of the subroutine follow a two-char- 
acter prefix (SS, for example, for your 
system subroutines). Application sub- 
routines could assume the prefix from 
the application's name (PR for payroll, 
for example). Using this method, you 
can quickly identify the type of sub- 
routine—application or system— and 
its line numbers. Rely on your written 
documentation to tell you what the 
subroutine does. 

Variable-naming rules prevent "col- 
lisions," or "side effects," which occur 
when program code and a subroutine 
use the same variable for different 
purposes. For example, if the program 
code used the variable PR to record 
payroll and a subroutine used PR as 
a flag to see if the printer were on line, 
calling the subroutine would change 
the value of the variable. 

To avoid the problem, you can 
simulate the concept of local variables 
by assigning groups of variables to 
logical sections of code. For example, 

[continued) 



244 B YTE • JUNE 1985 




ma mm 

[ECMTE MIA 

)I ORIGINAL MIft 



(F2) foiiia rmim mii 

(TO lIFFEKMIlIlt MTfl 

<K> SHMIH Mill 

(Fit) PUT MOST ffiCEW MIA 



AS/ST multiple windows permit side-by- side 
comparisons. The two-dimensional FF1 'routine, 
shown, is one of the many built-in functions. 



With ASYST, data acquisition and analysis 
routines can be combined to create powerful, 
menu- driven functions. 





Least squares, polynomial, exponential, and 
logarithmic curve fitting routines fully 
integrate with other ASYST capabilities. 



ASYST integrates analysis functions with 
graphics. On-screen cursors allow interactive 
selection of curve segments. 



ASYST Scientific Software- 
Acquisition, analysis and graphics capabilities 
turn your IBM PC into a powerful workstation- 



ASYST and your IBM PC, XT,™ AT, or 
compatible put you in direct control . 
You can reduce data while collecting - 
displaying results as you proceed. Now 
for the first time you can pull informa- 
tion through the analytical process with- 
out timesharing delays or software 
bottlenecks. See why "scientists and 
engineers will rejoice at having such a 
versatile tool to turn their PCs into 
minis" — PC Magazine. 

Getthe speed and precision of a 
minicomputer-at a fraction of the cost. 

•ASYST fully utilizes the PC's 8087 copro- 
cessor for precision exceeding that of 
other micros-and many minis and 
mainframes. 

• A 1024-point FFTwith ASYST/IBM PC 
takes less than 3 sec. An optimum perfor- 
mance custom routine on a DEC 1 1 /23 + 
minicomputer with FPF 1 1™ took 2 sec. -at 
five times the price. 

ASYST is composed of three separate, 
but fully-integrated, modules: 
Module 1: System/Graphics/Statistics 
establishes the environment. Includes 
data representation and storage; arith- 

Copyright 1984 byMacmillan Software Company. 

Inquiry 260 



metic, trigonometric, hyperbolic and other 
mathematical and statistical functions; 
direct graphics output and display; array 
manipulation; control of vectors and 
matrices; automatic plotting; file manipu- 
lation; programming control structures; 
and a built-in text editor. 

Module 2: Analysis reduces and ana- 
lyzes data. Includes Eigenvalues, Eigen- 
vectors, polynomials, least squares 
approximations, curve fitting, convolutions, 
integration, differentiation, smoothing, and 
Fast Fourier Transform. 

Module 3: Data Acquisition allows 
interfacing with laboratory instruments. 
Commands such as "A/D. IN" allow data 
communication with standard interface 
boards. Includes A/D and D/A conver- 
sions, digital I/O, timing, and triggering. 
Commandscan be combinedforcustom- 
ized automatic acquisition and control. 
•Module 1 works alone-or with eitherof 

the other two modules-allowing you to 

tailor the system to your specific needs. 
• All functions are always available. You 

never have to leave the system to access 

any of its capabilities. 



Built-in routines. Full programmability. 

• Use straightforward, pre-programmed 
commands such as XY.DATA.PLOTand 
ARRAYEDIT. 

• Combine and modify commands to 
extend the system for your custom 
applications. 

Take advantage of our 30-day no-risk 
offer. Call (800) 348-0033, today! 

In New York state, call (21 2) 702-324 1 . 




MACMILLAN SOFTWARE CO. 

An Affiliate of Macmillan Publishing Company 

866 Third Avenue, New York, NY 10022 



JUNE 1985 'BYTE 245 



STRUCTURING BASIC 



you can set aside variables beginning 
with A-H for program code and pro- 
gram subroutines, H for program 
code loops (following the program- 
ming convention started with FOR- 
TRAN), K-P for application subrou- 
tines, and Q-Z for system subroutines. 
T&ble 2 summarizes these variable- 
naming rules. 

I suggest breaking variables down 
even further. Each section of code 
uses two sorts of variables: "throw- 
aways," which are used in calculations 
and then discarded, and permanent 



variables, which have a consistent 
meaning throughout a program or 
within a given application. Program 
variables, for instance, could use 
A-D as throwaways and E-H as per- 
manent variables. In addition, you can 
break down the system variables ac- 
cording to the same logical functions 
as the corresponding line numbers. 
When you call a subroutine, simply 
set the local variables required by the 
subroutine to the values you want to 
pass. On return, transfer the values 
you want to save into program vari- 



Tkble 2: Variable-naming rules give BASIC the ability to mimic local variables. 


They ensure that the variables in your subroutines will not collide with program 


variables and create bugs. You can differentiate 


variables further into throwaway 


and permanent variables. You can also organize system variables according to the 


logical functions of the system line numbers. 




Code Section 


Variable Name 


Program code 


A-H, l-J for FOR . . NEXT loops 


— Throwaway 


A-D 


—Permanent 


E-H, descriptive variables 


Program subroutines 


A-H (shared w/program code) 


—Throwaway 


A-D 


—Permanent 


E-H 


Application subroutines 


K-P 


—Throwaway 


K-M 


—Permanent 


N-P 


System subroutines 


Q-Z 


—Throwaway 


Q-R 


—Permanent user-interface variables 


S-T 


—Permanent file-handling variables 


U-V 


—Permanent all-purpose variables 


w-x 


—Permanent ON ERROR GOTO variables 


Y-Z 


—System variables like true, false, 




screen-control strings, etc. 





— Remarks to describe the purpose of the program 

— DEFINT, DEFSTR, DEFSNG, DEFDBL, used to specify the data type of variables 
without constantly using the °/o, !, and $ notation 

— DIM statements, to dimension your arrays 

— COMMON statements, used to pass variables between programs 

— ON ERROR GOTO 

— DEF FN, to define functions 

— Declare program variables, e.g., 

100 REM 100-199 Declare program variables 

1 10 REM Today's date, user name, # of items changed 

120 E0$=DATE$(0) : E1$ = u " : E0 = 



Figure I : I recommend this initialization order, which is similar to those of more 
structured languages and will make your code compatible with most BASIC 
compilers. 



ables before calling other subroutines, 
which otherwise might change the 
values. 

I suggest using descriptive variables 
only in the program code, program 
subroutines, and application subrou- 
tines, and then only for permanent 
variables. Avoid using descriptive vari- 
ables in system subroutines because 
that eliminates their usefulness else- 
where (exceptions are variables like 
true and false that always have the 
same definition. Be aware of poten- 
tial conflicts in BASICS in which only 
the first two letters of the variable 
names are significant. 

Starting Your Library 

Now is the time to break your anti- 
documentation habit. To turn these 
programming conventions to your ad- 
vantage, take the time to write them 
down systematically (napkins are out). 
Having written copies of your line- 
numbering, subroutine-naming, and 
variable-naming rules will make them 
easier to apply. Make copies for 
everyone who has to work with your 
code. 

Once you have established your 
programming rules, create a skeleton 
program to use every time you start 
development. The first part could 
establish a simple order for the ini- 
tialization process, to keep it logical 
and to ease compilation of your pro- 
grams. Figure I contains a suggested 
order for this code. The second part 
of this program could contain a set of 
remarks describing where everything 
goes. Line 1000, for instance, might 
read 1000 REM MAINLINE CODE 
1000-9999. 

Before adding a routine to your 
library, ask yourself whether it is 
useful in many programs and whether 
it is general enough without losing 
functionality. If the answer to both 
questions is "Yes," you probably have 
a good candidate. Some examples are 
"Press < Return > to Continue," strip 
leading and trailing blanks from a 
string, evaluate a string to see if it's 
a valid numeric, and so on. More 
elaborate routines might include a 
classy menu operating with the cur- 

(continued) 



246 BYTE • IUNE 1985 



If you don't have a 

Hercules Graphics Card, you could 

end up looking like this: 



"I know, because one day it hap- 
pened to me. . . 

"I was running some routine 
tests on a non-Hercules mono- 
chrome graphics card when 
was struck by a severe case 
of low resolutionitis. I'm the 
president of Hercules and 
that's me exhibiting the 
symptoms of the disease 
in its advanced stages. Not 
a pretty sight, is it? 

"What causes low res 
olutionitis? Experts point M 
to ordinary monochrome 
graphics cards with 
coarse, hard-to-read 
graphics. A bad case of eyestrain may 
develop if action is not taken immediately. 

"Fortunately for me, a Hercules Graphics 
Card was nearby. A quick change brought 
soothing 720 x 348 graphics. That's twice 
the resolution of ordinary 640 x 200 graph- 
ics cards. 

"Which means better graphics for 
Lotus" l-2-3 T , M Symphony" Framework," 
pfs:Graph* Microsoft* Chart and Word, 
SuperCalc3* AutoCad T , M and dozens of 
other programs. 

"Including Microsoft Flight Simulator, 
now Hercules compatible ! 

"Oh, and don't forget that a parallel 
printer port is standard on the Hercules 
Graphics Card, not an extra cost option. 

"Now, if you're worried about buying 
a new product that hasn't had all the bugs 




worked out, relax. Hercules has 
sold more monochrome graphics 
cards for the IBM®PC,XT™ and AT™ 
than anyone else in the world. 

"So . . . you're convinced that 
you should buy a Hercules 
Graphics Card. Now, steer 
clear of cheap imitations. 
You may save a few bucks, 
but you won't get all of 
these five essential features 
which only Hercules has: 
"1) A safety switch that 
helps prevent damage to 
your monitor, 2) the 
ability to keep a Hercules 
Color Card in your 
system, 3) the ability to use the PC's BASIC 
to do graphics, 4) a Hercules designed chip 
that eliminates 30% of the parts that can go 
wrong, and 5) a two year warranty, because 
we think reliability is something you should 
deliver and not just talk about." 

"Call 1-800-532-0600 Ext 408 for the 
name of the Hercules dealer nearest you 
and we'll rush you our free info kit. 




Hercules. 

We're strong on graphics. 



Address: 2550 Ninth St., Berkeley, CA 94710 Ph: 540-G000 Telex: 754063 Trademark/Owners: Hercules/Hercules Computer Tech; IBM.XT.AT/IBM; Lotusl-2-3, 
Symphony /Lotus Development; Framework/Ashton-Tate; Microsoft/Microsoft; pfs:Graph/Software Publishing; SuperCalc 3/Sorcim-IUS; AutoCad/AutoDesk. 



Inquiry 207 



JUNE 1985 -BYTE 247 



STRUCTURING BASIC 



sor and Return keys. 

Use your imagination to put power 
into your programming. For instance, 
an input routine that takes a string 
from the keyboard up to a given 
number of characters would be even 
better if it allowed you to program the 
function keys, permitting messages 
like "Enter Search Code, < Fl > to Go 



Back, < F2 > to Go Forward < F3 > 
to Quit." 

You might create some subroutines 
with the DEF FN construct, allowing 
you to define functions similar to 
those of structured languages. Many 
versions of BASIC restrict you to a 
one-line equation, but even this would 
be handy for a function such as 



Subroutine Name 

Line #s 

Purpose 

Required Variables 
Returned Variables 



CT35510 

35510-35550 

Compare a string to a list of valid passwords and return a 

flag on the result 

Q$ = String to compare to password list 

00 = Number of the password, or zero if invalid 



Notes: This subroutine requires that CT24340 (Input a string from keyboard) be 
present in the same program. 



Figure 2: A subroutine documentation form should identify the purpose of the 
routine, the required and returned variables, the line numbers it occupies, and 
any other prerequisite subroutines. 



centering messages on the screen. 

Document your routines both in the 
code and on paper. The first three 
lines of each routine should list the 
purpose of the routine and both the 
required and returned variables. The 
written documentation will allow you 
to identify subroutines and will ex- 
plain how to use them correctly. 
Figure 2 suggests a format for the 
documentation. 

By providing everyday tools, the 
subroutine library allows you to con- 
centrate on "the good stuff." Those in- 
terested in taking the concept a step 
further can assemble a library of util- 
ities to handle large tasks like file 
management. It would be a simple 
matter to decide what variables you 
need to describe a file and its fields, 
to write subroutines to read the file 
descriptors and file into memory, and 
then to write a program to manage 
the file. ■ 




YOU CAN BRING DOWN THE COST OF EUROPE WHEN YOU 
BRING BACK A NEW MERCEDES-BENZ. 

IF YOU PLAN on touring Europe this year, you can take overseas delivery 
of any 1985 Mercedes-Benz gasoline or diesel model you choose* 

Pick it up at the Stuttgart Delivery Center and enjoy a driving vacation . 
unmatched for comfort, convenience and freedom. Avoid costly car 
rentals while saving on the price of your new Mercedes-Benz. 

For details, get our free "European Delivery" color brochure. Just 
clip and send the coupon at right. 



•Subjea to availability. 



Send coupon to: 

Mercedes-Benz of North America, Inc. 
Marketing Communications Division 
One Mercedes Drive, Montvale, NJ 07645 




Name- 



Address. 
City 



_State_ 



_Zip_ 



) 1985 Mercedes-Benz of N. A.. Inc., Montv:iie, N.J. 



MH-MA-85 



248 BYTE • JUNE 1985 



Compare the 
Hercules Color Card 

to IBM's. 

Five reasons why the Hercules Color Card is better. 




1. Compatibility 



3. Size. 



4. Flexibility. 



5. Warranty. 



IBM Color Adapter $244 

Runs hundreds of graphics 
programs. 



2. Printer port. None. 



13.25 inches. Limited to long 
slots. 

Can't always work with a 
Hercules Graphics Card. 



90 days. 




Hercules Color Card $245 

Runs the same hundreds of 
graphics programs. "The 
Hercules Color Card is so nearly 
identical to the IBM Color/ 
Graphics Card that it's almost 
uncanny." PC Mag. 

Standard. Our parallel port 
allows you to hook up to any IBM 
compatible printer. 

5.25 inches. Fits in a long or short 
slot in a PC, XT, AT or Portable. 

Always works with a Hercules 
Graphics Card by means of a 
software switch. 

Two years. 



Any one of these five features is enough reason to buy a Hercules Color Card. But 
perhaps the most convincing reason of all is just how easy the Hercules Color Card is to 
use: "Right out of the box, the Hercules Color Card goes into an empty expansion slot, 
ready for you to plug in . . . and go to work — no jumpers, no software. For most 
applications, it's just that easy." PC Magazine. 

Call 1-800-532-0600 Ext. 421 for the name of the Hercules dealer nearest you and 
we'll rush you our free info kit. tt i 

Hercules. 

We're strong on graphics. 

Inquiry 208 
Address: Hercules, 2550 Ninth St, Berkeley, CA 94710 Ph: 415 540-6000 Telex: 754063 Trademarks/Owners: Hercules/Hercules Computer Technology; IBM/IBM. 




THE MAXWELL MODEM 



mmmm^^MMMM^M^^^ 



Haeai-Vadic 




Any modem can send 
and receive information. 

But what good is a modem if 
you can't communicate with it? 

In plain English. 

The Maxwell Modems and 
George, 1 M our communications 
software, let you do just that 

In fact, learning to use them 
is as easy as reading a menu. 
Instead of a manual. 

All the features make sense. 



Like auto-dialing directories. 
Automatic log-on. Auto-answei: 
Automatic error-checking. 
And complete unattended 
operation. Which means you 
can send and receive files late 
at night when the phone rates 
are lower. And you're asleep. 
Plus, with single keystroke 
dialing, you can call a database 
faster than you can say Racal- 
Vadic. While the handy mes- 



FINALLY, A 

MODEM YOU CAN 

COMMUNICATE 

WITH. 



sage editor makes jotting a 
quick message justthat Quick. 

The Maxwell Modems are 
available in two versions, inter- 
nal* or desktop. And, now, in 
three different speeds. 300, 
1200 or 2400 bits-per-second. 
So there's bound to be one 
just right for you. And your 
personal computer. 

Best of all, they're from 



Racal-Vadic-the world's 
leading supplier of switched- 
network modems. The kind 
of modems data networks use 
to take calls from modems 
like yours. 

Just as soon as you get one. 

And the easiest way to do 
that is to call 800-4-VADICS 
for the name of the Maxwell 
Modem dealer nearest you. 




THE MAXWELL MODEM: 

From Racal-Vadic 



w The Maxwell Modem and George are trademarks of Racal-Vadic. 'Internal modems for IBM K PC, XT and compatibles. IBM is a registered trademark of International Business MachinesCor p. ©1984, Racal-Vadic 

JUNE 1985 'BYTE 251 



We don't have all the answers you need, 
but we'll do all we can to find them! 



PC 

PROGRAMMERS 

CORNER 

Borland 

Turbo Pascal $ 37 

CompuView 

Vedit $130 

Vedit+\ 179 

Digital Research 
C Basic Comp 

(CB-86) $339 

CP/M-86 45 

Concurrent CP/M 

w/ Windows 119 

Concurrent DOS.... 179 

Display Mgr 279 

Fortran 77-DOS 

or CP/M 279 

Personal Basic 99 

Emerging Technology 

Edix (editor) $139 

Heritage 

Smartkey 11+ $ 75 

Microsoft 

C Compiler $319 

Pascal Comp 199 

Basic Comp 249 

Fortran Comp 259 

Morgan Computing 

Prof Basic $79 

Peter Norton 

Norton Util 3.0 $ 59 

Supersoft 

Fortran $209 

Lifeboat 

Laltice Windows.... $209 

Run-C 99 

Dr Halo (Graphics). 79 
PMate 189 



IBM/PC 
SOFTWARE 

Anderson Bell 

Abstat $289 

Ashton-Tate Call 

Central Point 

Copy II PC $ 34 

Connecticut Software 
Printer Boss 

NEW v. 5 $ 99 

Dow Jones 

Market Manager +....$ 1 89 

Ecosoft, Inc. 

Microstat $239 

Enertronics 

Energraphics $219 

w/ plot option 279 

Fox & Geller 

Grafox $159 

dGraph 159 

dUtil 58 

Quickcode 159 

Quickreport 159 



Harvard Software 

Total Project Mgr $309 

Lifetree 

Volkswriter Deluxe $155 

Volkswriter Scientific. 299 
MDBS 

Knowledge Man $275 

Micropro 

ProPak $255 

Wordstar 2000+ 295 

Microrim Call 

Microsoft 

Flight Simulator $ 39 

Project 169 

Word 229 

MuMath/MuSimp 179 

Microstuf 

Crosstalk $ 99 

Northwest Analytical 

Stotpak $329 

Open Systems 

Acct'g Modules.... ea $379 

Samna Corp. 

SamnaWord III 329 

Sensible Designs 
dProgrammer $199 



APPLE 
SOFTWARE 

We hove a vast selection 
of programs available 
for Apple II, He, lie, and 
Macintosh. 



CP/M 
SOFTWARE 

All prices below are for 

8" standard. 

Digital Research 

C Basic Comp (CB-80) $289 

SPPJ86) 149 

Display Mgr 80 239 

Display Mgr 86 279 

Pascal MT+ 80 199 

Pascal MT+ 86 349 

PL/186 399 

Access Mgr 86 239 

Fortran 77-86 199 

Infocom 

All Games Call 

MicroPro 

ProPok $359 

Others Call 

Microsoft Call 

Microstuf 

Crosstalk $ 99 

Northwest Analytical 

Statpak $365 

Supersoft 

Disk Doctor $ 74 



APPLE 



ALS 

CP/M Cord $269 

Smarterm II 119 

Z-Engine 139 

CCS 

7711 Asynch Serial $ 99 

Microtek Call 

Orange Micro 

Grappler + $119 

Prometheus 

Versacard $159 



IBM/PC 
BOARDS 

AST Research 

SixPak+ $265 

Orchid Technology .. Call 
Quadram 

Quadboard 384K 

w/64K $255 

Other Products Call 

Tecmar Call 



MODEMS 

Hayes 

Smartmodem 300 $209 

Smortmodem 1200 .... 429 
Smartmodem 1200B... 369 
US Robotics 

S-100 Modem $379 

Password M or F 325 



C. Itoh Electronics, Inc., 
Diablo, Epson, NEC, 
Okidata, Quadram, 
Star Micronics Call 



MONITORS 

Amdek 

300A Amber $149 

310A 179 

PGS 

HX12 RGB Or $489 

MAX 12 189 

SR12 (690x480 Res)... 639 

DoublerCard 175 

Quadram Call 

Zenith Call 



DISK DRIVES 

FLOPPY DRIVES - 
CDC, Tandon, Half 

High Drives Call 

HARD DISKS - 
Corvus, Davong, 
l-Omega Bernoulli Box, 
Maynard Electronics, 
Mountain, Inc Call 



PCJr 
ACCESSORIES 

KeyTronic 

KB 5151 Jr $173 

KB 5149 Numeric 

Keypad) 89 

Quadram 
Quad Jr 

Exp Chassis Call 

Quad Jr Exp Mem 

(for Chassis) Call 



Tecmar 

Jr Captain $319 

PLOTTERS 

Amdek, Enter, 
Houston Instruments, 
Panasonic Call 



MISC. 

Hauppage 

8087 w/o Software.... $149 

8087 w/ Software 255 

80287 AT Chip 

w/o Software 269 

Other Products Call 

Kensington 

Masterpiece $109 

Keytronic 

KB 5150 $169 

KB 5151 173 

KB 5151 Dvorak 173 



This is only a sample of the nearly 
10,000 products we carry. Iff you're 
interested in something that is not 
listed, PLEASE CALL! 



POLICY: 

► Wisconsin residents add 5% for soles tax. 

► Minimum $4.00 for shipping, handling and insurance for orders to $200. 

► For orders over $200, add 2Vi% for shipping, handling and insurance. 

► For cash prepayment of orders $200 or more, odd ONLY 2% for shipping, 
handling and insurance. 

► Foreign — either odd 15% handling & shipping (Int'l money order) or inquire. 

► Prices ore subject to change without notice. 

► All items subject ta availability. 

WE WELCOME: byad OR0685 

► Visa, MosterCharge and American Express. (No charge for credit cords.) 

► Corporate, government educational or volume purchasers, please ask for 
special accounts desk for additional discount. 

► COD (Add 52.00 per box/parcel. Cosh or certified check required.) 

► Checks. (Allow 1-2 weeks for clearing.) 

WORKING HOURS: 

Monday- Friday B:30-6:00 : Saturday 10:00-2:00 : Central Time 

For technical support, order status and customer service, call (715) 848-1374, 



1 800 826-1589 



WITHIN 
WISCONSIN 



1 800 472-3535 



INT'L TELEX: 260101 ORYX SYS WAU 

ORYX SYSTEMS, INC. 

CRAFTSMEN OF THE NEW TECHNOLOGY 

425 First St. • P.O. Box 1961 • Wausau, Wl 54401 



■ , , ; 



g ^mmflo jtfggrai^ 




Inquiry 430 for Hardware Inquiry 431 for Software. Inquiry 432 for June Specials. 



PROGRAMMING TECHNIQUES 



SUBROUTINE 
LIBRARIES 
IN PASCAL 



by Bruce Webster 



A look at some of the facilities available 
for creating these libraries 



ONE PHRASE OFTEN USED in soft- 
ware development— indeed, in almost 
all aspects of computers— is "reinvent- 
ing the wheel." It's what you often find 
yourself forced to do, over and over, 
with each new software project. Most 
programs need to perform certain 
functions, such as user I/O, file access, 
and specific types of computation. 
Fortunately, there's one way you can 
avoid rewriting the same routines: Use 
subroutine libraries. 

A subroutine library is basically a 
collection of useful, trustworthy 
routines that can be used by different 
programs. The advantages of using 
subroutine libraries are obvious. First, 
you can break programs into smaller 
chunks that are more easily edited. 
Second, you can do the job right once 
and then never worry about it again. 
It's as if you are extending the lan- 
guage to meet your needs. Third, all 
of your programs will behave in pre- 
dictable ways, at least as far as the 
library routines are concerned. Each 
program will carry out the same ac- 
tions in the same way. This not only 
means that the user interface can be 
consistent but also makes it easier for 



different programs to share resources 
and information. Fourth, subroutine 
libraries make group software projects 
easier. Effort isn't duplicated by each 
person writing his or her own clear- 
screen routine. 

To create a subroutine library, you 
gather together those routines that 
have general use. It makes little sense 
to create a library of routines so 
specialized that they will be used in 
only one program. Then you test the 
routines thoroughly to make sure that 
they are bulletproof. A subroutine 
that can blow up or otherwise pro- 
duce poor results is a dangerous thing 
to place in a library. Finally, use the 
libraries as often as you can, improv- 
ing and modifying them as errors and 
deficiencies show up. Amending your 
programs will give you better libraries 
and will give your programs a degree 
of consistency that will make them 
easy to maintain. 

The original definition of Pascal 
does not contain any provisions for 
creating subroutine libraries beyond 
reusing the same routines in each pro- 
gram. However, most microcomputer 
implementations of Pascal contain at 



least one of two extensions to aid in 
using libraries. The simplest involves 
include files, which are files of subrou- 
tines that can be pulled in during 
compilation. The second uses units to 
group related definitions and routines 
into precompiled chunks. Let's take a 
look at each method. 

Include Files 

Almost every version of Pascal that 
runs on microcomputers lets the user 
define include statements that direct 
the compiler to read and compile the 
contents of another file before con- 
tinuing. These statements take the 
form of a compiler option giving the 
name of the file to be read. Figure I 
illustrates what a program containing 
an include statement might look like. 
When the compiler gets to the state- 
ment {$1 utility.lib}, it starts reading 
from the file utility.lib, just as if the 

[continued] 
Bruce Webster (621 5 Thorn St.. San Diego, 
CA 92115) is « consulting editor to BYTE 
and a charter member of the PMS Comman- 
do Team. His interests include programming, 
reading, weightlifting, go, war games, and ex- 
actly one attempt at skydiving. 



JUNE 1985 -BYTE 253 



SUBROUTINE LIBRARIES 



contents of that file were present after 
the declaration of Indx and Jndx and 
before the start of the procedure 
Testl . 

The technique is simple enough, but 
it has some problems. The most com- 
mon is a conflict between identifiers 
in the library and identifiers in the 
program itself. (An identifier is the 
name given anything— a constant, a 
data type, a variable, a subroutine, 
and so on.) For example, if the file utili- 
ty.lib contained a subroutine named 
Initialize, then the compiler would 
generate an error when it found the 
procedure Initialize in the program 
TestLibrary. Similar problems might 
arise if you were using more than one 
library and both libraries contained 
routines, variables, or data types with 
the same identifiers. 

One solution to the conflicting iden- 
tifier problem is to have a unique 
prefix precede the identifiers in a 
given library. For instance, all iden- 
tifiers in utility. li kD could start with the 
characters Util. The library routine Ini- 
tialize would now become Utilinitialize 
and would not conflict with any 
routines in the main program. This 



has the added advantage of remind- 
ing you from which library each rou- 
tine used in your program came. 
There are some problems, though. 
First, typing the extra four characters 
for each identifier may become tiring 
after a while. Second, the version of 
Pascal that you are using has some 
limit on the number of "significant" 
characters in an identifier. If this limit 
is small— around eight characters, 
say— then the prefix may significant- 
ly reduce what you've got to work 
with. 

Suppose you had two library rou- 
tines, ClearEOL and ClearEOS, which 
cleared to the end of a line and the 
end of the screen, respectively. If you 
add the prefix Util, then the resulting 
identifiers are identical past the eight- 
character limit. Even if you reduce the 
prefix to Ut, you'll still have to 
shorten the names to something like 
UtClrEOL and UtClrEOS. This raises 
the third potential problem: Short 
identifiers with prefixes may lose 
some of their mnemonic value. Clear- 
EOS explains itself more clearly than 
UtClrEOS. 

Another solution is to forget about 



program TestLibrary; 
var 
Indx.Jndx : Integer; 

{$1 utility.lib) { pull in subroutine library} 

procedure Initialize; 
begin 



end; { of proc Initialize 

procedure DoTest; 
begin 



end; { of proc DoTest) 

begin { main body of program TestLibrary } 

Initialize; 

DoTest 
end. { of program TestLibrary } 



Figure 1 : An illustration of how to include library routines in a Pascal program. 



the prefixes and keep a list of all iden- 
tifiers within each library. You can do 
this at the start of the library file 
within comment statements. When 
you include a particular library file, 
you would then refer to its list to avoid 
identifier conflicts within the program 
using it. This, of course, is not without 
its drawbacks. It may be tedious to 
maintain the identifier list, especially 
for large libraries. And it doesn't solve 
the problem of similar routines with 
identical names in different libraries; 
you have to solve that by choosing 
distinct names for each. 

A less common problem can occur 
if your library gets big. The compiler 
may not be able to handle all the ad- 
ditional identifiers, resulting in some 
sort of symbol-table overflow error 
during compilation. Or the program 
may compile fine, but the resulting 
code file may be too large for the 
available memory. If you have these 
problems, there's a good chance that 
your library contains unused or 
redundant subroutines. If that's the 
case, you have several options. First, 
you can create another library that 
contains only the routines you need 
for that specific program. Second, you 
can break the library up into two or 
three sublibraries; one could contain 
the most commonly used routines 
and the others could hold less- 
needed functions. Third, you may be 
able to replace a large group of spe- 
cialized routines with a few routines 
that use parameters to choose the 
specific action. For example, instead 
of having separate routines to per- 
form different screen actions— clear 
screen, clear line, clear to end of 
screen, clear to end of line, and so 
on— you might have a single routine, 
DoScreen, that performs all of those 
actions based on one or two 
parameters. 

Yet another problem involves rou- 
tines that use a nonstandard data 
type as a parameter or as a variable 
within the routines themselves. This 
might involve a specific example of a 
predefined data type (such as a set of 
characters or a string of a certain 
length), or it might require a user- 

[continued] 



254 BYTE ' JUNE 1985 



PCturbo 186 



TM 



■„, r j 



"The PCturbo 186 is a sophisticated 
product, jam-packed with good ies . . 
Lightning-like, indeed" 
—Winn L. Rosen, PC Magazine 



"PCturbo 186^. speeds up your IBM 
PC something wonderful. ..no 
glitches, no problems, and its fast, 
"ST, FAST."— Jerry Poumelle, BYTE 



I'f/JA 












//vyoi/ffpc, 

/%/0MCOAffl4m/L/j 







EXTENDS THE UFE OF YOUR COMPUTER ' SPEEDS UP 
YOUR EXISTING PC ■ FINISHES JOBS FASTER 



■ Now from Orchid Technology — PCturbo 186, 
the most practical solution to upgrading the 
performance of your existing IBM PC, XT or 
compatible. Based on the new generation 80186 
processor, the PCturbo 186 runs your application 
programs, such as databases and spreadsheets 
200% to 400% faster. 

□ Plugged into your PC, the PCturbo works 
together with the computer power you already 
own today Unlike less powerful imitations, the 
PCturbo works in tandem with the 8088 in your 
PC. It does not replace it. In this design, the 
8088 handles all the peripheral I/O while the 
PCturbo runs your programs concurrently and 
more efficiently. 

□ The PCturbo is a high speed si/stem, with built-in 
software tools designed to increase all aspects of 
computer performance. Innovative software 
allowed Orchid to enhance the PCturbo with many 
powerful features, such as Mainframe style Disk 
Caching and high capacity RAM Disks, speeding 
up the reading and writing of files. 

■ To help take advantage of those powerful soft- 
ware tools, the PCturbo allows you to add up to 

Inquiry 314 



640K o f its own RAM o n board. With PCturbo you 
can now have up to 1.28 Megabytes of RAM in 
one system — double the previous limit of the IBM 
PC! This frees the extra RAM in your PC to be used 
for increasing I/O performance. 

□ With the PCturbo there are no new Operating 
System manuals to read, keyboards to learn, or 
special software versions to buy. When you plug 
the PCturbo board into your IBM PC or compatible 
PC, everything works just like it did the day 
before — only faster! The PCturbo was designed to 
be easy to install and transparent to the user. 
Installation does not void the warranty on your PC, 
as with some other offerings. Just plug it in, turn 

it on, and speed it up! 

□ The PCturbo is a proven product, introduced in 
1984. Since then, we've created a custom VLSI 
(Very Large Scale Integration) chip which improves 
the cost/performance ratio of the board even more. 
Our exclusive TurboBus Expansion capability 
allows you to add on new Turbo options such as 
the Serial Port Daughtercard. Continuing in our 
tradition, Orchid is first with the most in high per- 
formance PC enhancements. 



PCturbo 186 is the most practical 
solution to making your operation 
more efficient and productive. Now 
isn't that what you bought a com- 
puter for in the first place? 




ORCHID 

ORCHID TECHNOLOGY 
47790 Westinghouse Drive 

Fremont, CA 94539 
(415) 490-8586 Telex: 709289 



PCturbo 186 is a trademark of Orchid 
Technology. IBM and IBM PC are 
trademarks of Internationa] Business 
Machines Corporation. 

JUNE 1985 -BYTE 255 



SUBROUTINE LIBRARIES 



defined data type, such as a record 
of some sort. If the compiler allows 
free mixing of declarations and rou- 
tines, as do 'Hirbo Pascal and a few 
other implementations of Pascal the 
appropriate declarations can be made 
as needed. However, if the order of 
declaration is more strict, then a sec- 
ond include file containing only dec- 



larations (constants, data types, and 
variables) can be created and in- 
cluded at the proper spot (usually 
before all of the program's declara- 
tions). 

Libraries based on include files can 
be used with almost every microcom- 
puter-based Pascal available. How- 
ever, a number of Pascal implemen- 



¥)u're inGoodCompany 

Whenlbu Program 

inBetteiBASIC 




All of these companies rely on BetterBASIC 
to write their software programs. They have 
found that BetterBASIC combines the features 
they need from BASIC, Pascal, C and Forth in 
one familiar environment. Some of these fea- 
tures include the following. 
640K Now you can use the full memory 
of your PC to develop large programs. 
STRUCTURED Create well organized 
programs using procedures and functions 
that are easily identified and understood and 
completely reusable in future programs. 
MODULAR Use procedures and functions 
grouped together to form "library modules." 
INTERACTIVE BetterBASIC acts like an 
interpreter, responding to the users' commands 
in an immediate mode. However, each 
statement is actually compiled as it is entered. 
EXTENSIBLE Create your own 
BetterBASIC modules which contain 
BetterBASIC extensions 
(ideal for OEMs). 
COMPILED Each line 
of the program is 
compiled as it is entered 




into the computer's memory rather than 
interpreted at runtime. The optional Runtime 
System generates EXE. files. 
BetterBASIC Runs on IBM PC, IBM 
PC/XT and compatibles. 
CALL 1-800-225-5800 Order Better 
BASIC now, or write Summit Software Tech- 
nology, Inc. ™ , P.O. Box 99, Babson Park, 
Wellesley, MA 02157 Prices are listed below. 
BetterBASIC: $199 Runtime System: $250 
8087 Math Module: $99 

Still not convinced? Order the BetterBASIC 
sample disk which includes a demo, a 
tutorial, compatibility issues, 50 lines of 
BetterBASIC and more. Only $10. 

MasterCard, VISA, P.O. Checks, Money Order, C.O.D. 
accepted. 

BetterBASIC is a registered trademark of Summit 
Software Technology, Inc. 

IBM PC and IBM PC/XT are registered trademarks 
of International Business 
Machines Corp. Tandy is a regis- 
tm tered trademark of Tandy Corp. 
^P ^^^| Illustrated above are registered 
I | ■ trademarks of the following com- 
1 m^^ panies: Mobil Oil Corp.; AT&T; 
» ^^ General Electric Co.; Westing- 
^^^^H house Electric Corp.; TRW, Inc. 



ALSO AVAILABLE FOR THE TANDY 2000, 1200 AND 1000 



tations have a more sophisticated 
mechanism for libraries, known as 
units. Let's take a look at these. 

Units 

The UCSD p-System pioneered the 
use of unit subroutine libraries. Units 
can also be found in the Apple and 
Microsoft (IBM) Pascal implementa- 
tions. (An even more powerful form, 
the module, is found in the languages 
Modula-2 and Ada.) A unit is a sub- 
routine library with two parts. The first 
part, the interface, is visible to the pro- 
gram using the unit. It contains all the 
declarations that the program needs 
to use in that unit. The second part, 
the implementation, holds the actual 
code of the routines declared in the 
interface as well as any other routines 
and/or declarations needed. Those 
other routines/declarations are invisi- 
ble to the program using the unit and 
can be referenced only by the code 
found in the implementation. Hence, 
you can hide how the routines in the 
units are implemented. 

The other great advantage of units 
is that they are compiled separately 
from the program. When a unit is 
compiled, the text of the interface is 
saved, but the implementation is con- 
verted to machine code (or, in the 
case of the p-System, p-code). The 
compiled unit is then placed in a 
library. When you compile a program 
using that unit, the compiler just reads 
the interface to get the declarations 
it needs; the implementation is not 
recompiled. This can save a lot of 
time, especially if the unit or units in- 
volved are large. 

Since the unit isn't recompiled, the 
question of what happens to the code 
arises. The answer depends upon the 
particular implementation, but there 
are two basic approaches. The first in- 
volves code-based units (in Apple 
Pascal, this is known as a regular unit). 
The code from such a unit is directly 
copied from the library into the pro- 
gram's code file, either at compilation 
time or in a later linking step. This pro- 
duces a single executable file with all 
the code needed to run. If several 
such programs occupy the same disk, 

[continued) 



256 BYTE • JUNE 1985 



Inquiry 392 



EXPAND YOUR CAREER HORIZONS.. 



**M* 



■OI 




START WITH CIE. 

Microprocessor Technology. Satellite Communications. 
Robotics. Wherever you want to go in electronics 
... start first with CIE. 

Why CIE? Because we're the leader in teaching 
electronics through independent study. Consider this. 
We teach over 25,000 students from all over the 
United States and in over 70 foreign countries. And 
we've been doing it for over 50 years, helping 
thousands of men and women get started in 
electronics careers. 

We offer flexible training to meet your needs. 
You can start at the beginner level or, if you already 
know something about electronics, you may want to 
start at a higher level. But wherever you start, you 
can go as far as you like. You can even earn your 
Associate in Applied Science Degree in Electronics. 

Let us get you started today. Just call toll-free 
1-800-321-2155 (in Ohio, 1-800-362-2105) or mail in 

Inquiry 84 



The CIE Microprocessor Trainer helps you to learn how circuits with 
microprocessors function in computers. 



the handy reply coupon or card below to: 

Cleveland Institute of Electronics, 

1776 East 17th Street, Cleveland, Ohio 44114. 



Cleveland Institute of Electronics 

1776 East 17th St., Cleveland, Ohio 44114 



Q Please send your free independent study catalog. 

For your convenience, CIE will try to have a representative 

contact you — there is no obligation. 

Print Name 



Address. 



City_ 



.State. 



_Apt._ 

-Zip. 



Age_ 



.Area Code/Phone No._ 



Check box for G.I. Bill bulletin on Educational Benefits 
□ Veteran □ Active Duty 

MAIL TODAY! 



BY-03 



SUBROUTINE LIBRARIES 



each will have its own copy of the 
unit(s). In Apple Pascal all units are 
code-based (regular) unless otherwise 
specified. 

The second approach uses library- 
based units (known as intrinsic units 
in Apple Pascal). Such a unit remains 
in the library file until needed, which 
may be when the program using it is 
started or not until some routine in 
the unit is actually called. At this time, 
the unit is loaded into memory. This 
requires, of course, that the library file 
containing the unit be available (i.e., 
on a currently mounted disk and in 
a known location) when the program 
is executed. All units in UCSD Pascal 
(version IV.O and later) are by default 
library-based; a utility known as the 
Librarian must be used to make them 
code-based. 

A library-based scheme works best 
when several programs on the same 
disk use the same unit(s). One "real- 



world" example is the computer game 
SunDog, of which I was the principal 
programmer. One side of the SunDog 
disk contains three code files— a 
demo program, a utility program, and 
the game itself— along with a library 
file containing seven intrinsic (library- 
based) units. All three code files use 
most of the units in the library. If the 
units' code had to exist in each pro- 
gram file, an additional 20K to 30K 
bytes of disk space would be 
needed— space that just isn't there. 
Some of the problems mentioned 
with include files also exist for units, 
though usually to a lesser degree. 
There is the same potential for con- 
flicts between identifiers, and the 
same solutions are available. Overtax- 
ing the compiler becomes less likely, 
since only those identifiers absolutely 
needed by the program need be 
declared in the interface, and units 
can give you greater control over the 



code size of the finished product. The 
problem of correct data types disap- 
pears altogether, since you can free- 
ly declare constants, data types, and 
variables in both the interface and the 
implementation sections. All in all, 
units tend to be easier and more flex- 
ible to work with. 

Units represent a major step for- 
ward in subroutine libraries, but ad- 
ditional steps can yet be taken. r IWo 
newer, Pascal-derived languages have 
more powerful features for library 
creation. Modula-2, designed by 
Niklaus Wirth as a successor to 
Pascal, can be thought of loosely as 
a language using nothing but units, 
allowing an entire program to consist 
of separately compiled chunks. Ada, 
designed by the Department of 
Defense as a replacement for every- 
thing, also has units, which come in 
several flavors. (Both Modula-2 and 

[continued] 



This and $1650^^ will get you 
the PC ^a^you've dreamed of . 





The PC Designs 
FD-1000 is a great 
example of why building 
your own PC beats buying one 
off the shelf. We've done the 
exhaustive testing and selection of com- 
ponents you'd do yourself— if you could 
afford to. The result: The most powerful and ver- 
satile configuration for the money. 

But because it's a kit, you have the satisfaction of building 
yourown PC and making it operational, thanks to its high level of 
integration, the FD-1000 requires no soldering; just a screwdriver and 
about an hour and you're booting up. 

Look at these performance features of the FD-1000: 

SPEED: 8MHZ clock speed (plus standard 4.77 MHZ) 
MEMORY: Up to 1 MB on-board memory (256K RAM included) 
POWER: American-made 140-watt power supply (hard disk ready) 
VERSATILITY: Five available IBM plug-compatible expansion slots 
COMPATIBILITY: Supports a variety of popular operating systems, including 
PC-DOS (included with kit), MS-DOS, Concurrent DOS and Xenix. Runs pop- 
ular software like Lotus 1-2-3, dBase III, Flight Simulator and more. 



Other features include a Princeton Graphics MAX-12E amber monochrome 
display, a built-in clock/calendar with battery back-up, a hardware reset but- 
ton, two 360K Shugart double-sided, double-density half-height floppy drives 
and two RS232 serial interfaces plus a parallel printer port. With its 84-key 
IBM-compatible keyboard and IBM-style case, your FD-1000 looks as good 
as it performs. 

Enhancements available at extra cost include Graphics Capability, an inter- 
nal modem, a 10 or 20 MB internal Winchester hard disk, an internal tape 
backup for the hard disk, a color monitor and an annual mail-in service con- 
tract. 

All wiring and hardware is included, and easy-to-follow instructions make the 
FD-1000 a simple and practical project for the new or seasoned user seeking 
performance and reliability at low cost. 



NO-RISK GUARANTEE: If you're not completely satisfied with 
your FD-1000, return it within 30 days for a full refund, including 
your mailing costs. Our one-year warranty on all components 
ensures your satisfaction. 

For more information, orto order, call or write: 

PC DESIGNS 91 8 > 494 9765 



3 8238 South Gary Avenue, I 
iTulsa, Oklahoma 741371 



258 BYTE • JUNE 1985 



Inquiry 321 



MICROWAY'S 8087 RUNS 1-2-3™! 



MicroWay is the world's leading retail- 
er of 8087s and high performance PC 
upgrades. We stock a complete selec- 
tion of 8087s that run at 5 and 8mhz. All 
ofourcoprocessorsareshippedwitha 
diagnostic disk and the best warranty 
in the business - 1 80 days! We also 
offer daughterboards for socketless 
computers such as the NEC PC and 
PCjr, and a board which increases the 
clock speed of the 80287 in the PC AT. 
Our new NUMBER SMASHER" in- 
cludes 51 2K ram. It will run the IBM PC 
at clock speeds up to 9.5mhz and 
achieves a throughput of .1 megaflops 




87FFT Written in assembly language, per- 
forms Forward and Inverse FFTs on real and com- 
plex arrays which occupy up to 512K bytes of 
RAM. Also does convolutions, auto correlations, 
hamming, complex vector multiplication, and com- 
plex to radial conversions. Callable from MS For- 
tran, 87MACRO or 87BASIC/INLINE $1 50 

87FFT-2™ performs two-dimensional FFTs. 
Ideal for image processing. Requires 87FFT...$75 

MATRIXPAK™ manages a MEGABYTE! 

Written in assembly language, our runtime pac- 
kage accurately manipulates large matrices at 
very fast speeds. Includes matrix inversion and 
the solution of simultaneous linear equations 
Callable from MS Fortran 3.2, 87 MACRO, and 
87BASIC/ INLINE each $1 50 

GRAPHICS PACKAGES 

Grafmatic for MS Fortran or Pascal $1 25 

Plotmatic for Grafmatic $1 25 

MultiHalo (one language) $1 89 

DFixer™ 

A disk utility which thoroughly checks PC or AT 
hard disks for bad sectors and updates the MS 
DOS file allocation table accordingly $149 

87DEBUG " - a professional debugger with 
8087 support, a sophisticated screen-oriented 
macro command processor, and trace features 
which include the ability to skip tracing through 
branches to calls and software and hardware 
interrupts. Breakpoints can be set in code or on 
guarded addresses in RAM $1 50 

HARDSCOPE™ includes a version of 
87DEBUG which interfaces a Breaker Box which 
makes it possible to reset your PC and break pro- 
gram execution independent of DOS $249 

AST Advantage™ $439 

JRAM-2 ru (0K) $199 

JRAM™AT(0K) $229 

MAYNSTRE AM™ 60 meg $1 695 



with 87BASIC/INLINE, Intel Fortran, or 
Microsoft Fortran. Software reviewers 
consistently cite MicroWay software 
as the best in the. industry! Our cus- 
tomers frequently write to thank us for 
recommending the correct software 
and hardware to meet their specific 
needs. They also thank us for our same 
day shipping! In addition to our own 
products which support the 8087 and 
80287, we stock the largest supply of 
specialized software available any- 
where. For information call us at 

61 7-746-7341 



Micro 
lAlav 



FASTBREAK" 

MicroWay's daughterboard turns on 
your 8087 during 1-2-3™ execution 
and extends DOS functionality. Recal- 
culations run up to 36 times faster. In- 
cludes an 8087 chip. When used with 
the NUMBER SMASHER™ it can pro 
vide a total increase in 1-2-3™ ex- 
ecution speed of up to 79 to 1 . 

FASTBREAK" 5mhz $339 

FASTBREAK™ 8mhz $479 

FASTBREAK" 

for NUMBER SMASHER $239 

FASTBREAK u LOCK BOX $60 



8087 Support 

For the IBM PC, PC XT, PC AT and Compatibles. 



Micro 
Way 



P.O. Box 79 
Kingston, Mass 
02364 USA 
(617)746-7341 



87 BASIC/ IN LINE" converts the output of 
the IBM Basic Compiler into optimized 8087 
inline code which executes up to seven times fas- 
ter than 87BASIC. Supports separately compiled 
inline subroutines which are located in their own 
segments and can contain up to 64K bytes of 
code. This allows programs greater than 1 28 K! 
Requires the IBM Basic Compiler and Macro 
Assembler. Includes 87BASIC $200 

87 BASIC™ includes patches to the IBM Basic 
Compiler and both runtime libraries for USER 
TRANSPARENT 8087 support Provides super 
fast performance for all numeric operations in- 
cluding trigonometries, transcendental, addition, 
subtraction, multiplication, and division .... $1 50 

87 MACRO™ - our complete 8087 software 
development package. It contains a "Pre-process- 
or," source code for a set of 8087 macros, and an 
object library of numeric functions including tran- 
scendental, trigonometries, hyperbolics, encod- 
ing, decoding and conversions. For the IBM 
Macro Assembler, Version 1 .0 or 2.0 $1 50 

OBJ— 'ASM™ - a multipass object module 
translator and disassembler. Produces assembly 
language listings which include public symbols, 
external symbols, and labels commented with 
cross references. Ideal for understanding and 
patching object modules and libraries for which 
source is not available $200 

RTOS - REALTIME OPERATING SYSTEM 

RTOS is a multi-user, multi-tasking real time oper- 
ating system. It includes a configured version of 
Intel's iRMX-86, LINK-86, LOC-86, LIB-86,OH-86, 
and MicroWay's 87DEBUG. Runs on the IBM-PC, 
XT, PC-AT and COMPAQ $400 

INTEL COMPILERS 1 

FORTRAN-86 $750 

PASCAL-86 $750 

PL/M-86 $500 

87C (LATTICE/MICROWAY) $750 

ASM-86 $200 

'Requires RTOS or iRMX-86. All Intel compiler names and 
iRMX-86 TM Intel Corp. 



The World Leader 
in 8087 Support! 



8087 5mhz $109 

Including DIAGNOSTICS and one-year warranty 
For IBM PC and compatibles. 

8087-2 8mhz $195 

For Wang, AT&T, DeskPro, NEC, Leading Edge 

80287-3 5mhz $250 

For the IBM PC AT 

64KRAMSet $12 

256K RAM Set $72 

256K CMOS RAM Set $135 
1 28K RAM Set pc at $169 
NUMBER SMASHER" 1590 

9.54mhz 8087 coprocessor board with 512K 
FORTRAN and UTILITIES 

Microsoft Fortran 3.2 229 

IBM Professional Fortran 545 

Intel Fortran-86 1 750 

FORLIB+ 65 

STRINGS and THINGS 65 

C and UTILITIES 

Lattice C 299 

Microsoft C Version 3.0 299 

C86 299 

FLOAT87 150 

BASIC and UTILITIES 

IBM Basic Compiler 270 

87BASIC 150 

87 BASIC/INLINE 200 

Summit BetterBASKT 1 75 

Summit 8087 Module 87 

MACROASSEMBLERS 

IBM Assembler with Librarian 1 55 

87MACRO 150 

Microsoft Assembler V 3.0 1 25 

PASCAL 

Microsoft Pascal 3.2 1 99 

Borland Turbo with 8087 and BCD 85 

APL 

STSC APL*PLUS/PC 450 

Pocket APL 85 

COSMOS Revelation 750 

SPSS/PC 595 

FASTBREAK and NUMBER SMASHER are trademarks of 
MicroWay, Inc. Lotus and 1 -2-3 are trademarks of Lotus 
Development Corp 



Inquiry 294 



JUNE I985 -BYTE 259 



NEW AMBER CRTC 



0, 

I I/Available in slow decay green or medium decay 
I I "European Amber" (the standard in Europe) 



Eliminates strobe, flicker, and eye fatigue 

Made with Lead/Strontium impregnated 
glass that stops X-ray emission 



I i^Comes with a 30 day money back 
I I guarantee 

I i^Easily installed (comes with pre- 
I I mounted hardware) 



High-contrast double dark face 
glass that also cuts U.V. radiation 



Tube face is etched to stop glare 

Ideal for word processing and programming, 
"lies 

Warranted for one full year against 
manufacturing defects or tube failure 





Ideal for word processing and program 
yet fast enough for games ana graphic 



Now, you can easily upgrade your monitor to 
exceed European standards for persistence and 
color with the installation of a Langley-St.Clair 
Soft-View™ CRT! Available for the TRS-80,™ 
TeleVideo,™ Kaypro,™ Heath,™ DEC,™ Zenith,™ 
IBM PC,™ Apple III™ and a wide variety of 
other monitors. 

TO ORDER: 




Call now to order your Soft- View™ 
CRT from Langley-St.Clair— $99.95 

Plus $7 for packing and UPS Shipping ($17 for Over- 
seas, Parcel Post, or UPS Blue Label]. Add sales tax 
where applicable. Visa/MasterCard orders welcomed. 



•:-:• 



Lansley-StClair 

Instrumentation Systems, Inc. 
132 W. 24th St., New York, NY 10011 
In New York coll 212 989-6876 



CAL1 800 221-7070 



IBM AT THE OFFICE 
APPLE AT HOME 

NO PROBLEM! 



A "Wireless file transfer" package for the IBM PC® to Apple II 
and back. APPLE TURNOVER™ is a firmware board which 
fits into any slot in the IBM PC and some compatibles. NO 
modems, NO serial links, NO hassles, NO problems. APPLE 
TURNOVER™ will format Apple CP/M® and Apple DOS 3.3 
disks. Leave your IBM and Apple computers where they are. 
Simply bring yourAppledisk to work and transfer your file to 
a PC-DOS disk. Allows for modifications to text and data 
files. It's a simple, inexpensive, high performance alternative 
to complicated serial links and modems. 

'NEW!" APPLETURNOVER™ version 2.0 will read, write 
and format PRO-DOS and Apple P-System Too. 



vertex 

^rsystems 



See your dealer or call 
for information: 

(213) 938-0857 



Innovation in microcomputer products 6022 W. Pico Blvd., Los Angeles, CA 90035 



SUBROUTINE LIBRARIES 



Unit subroutine 
libraries allow for 
information hiding and 
separate compilation. 



Ada started with Pascal, but the two 
went in opposite directions, Modula-2 
toward a simple language definition, 
Ada toward a complex one. It will be 
interesting to see which proves to be 
more successful.) 

Updating Libraries 

Like all other portions of your pro- 
grams, your libraries will change with 
time. You will find and fix bugs, add 
and delete features, and generally im- 
prove your libraries. But if they 
change, what of your programs that 
use them? 

For include files and code-based 
units, the answer is the same: If you 
want the changes reflected in your 
programs, you'll have to recompile 
the programs. (For code-based units, 
you'll have to recompile the units 
first.) As a rule it is probably best that 
you recompile all programs using a 
given library after each major change 
to that library. This maintains con- 
sistency and predictability for each of 
your programs. 

Library-based units are another 
story altogether. If you make changes 
to the interface portion of a library- 
based unit, then you must recompile 
all programs using the library file 
where that unit resides. Failure to do 
so could cause the programs to crash 
or behave erratically. Why? Because 
the interface that the unit now has 
and the interface that the program 
"remembers" are no longer the same. 
All sorts of problems may arise, due 
to changes in data structures, dif- 
ferences in variable addresses, and 
relocations of subroutines. 

On the other hand, if you change 
only the implementation portion, you 
don't need to recompile anything ex- 
cept the unit itself. This is the real vir- 

[continued) 



260 BYTE • JUNE 1985 



Inquiry 4I6 for End-Users. Inquiry 417 for DEALERS ONLY 



MICRO CAP and MICRO LOGIC 
put your engineers on line... 

not in line, ^jfe 



r' 



s~QT 









'V? 



7 /^\ ^O .tflfe 0~X 












/vfc'xr/ 



r' 






AJ- 



UUmMiffiMa Lite 



MyoWN iV0f?KST/»TiO/4 




How many long unproductive hours 
have you spent "in line" for your simula- 
tion? Well, no more. MICROCAP and 
MICROLOGIC can put you on line by 
turning your PC into a productive and 
cost-effective engineering workstation. 

Both of these sophisticated engineering 
tools provide you with quick and efficient 
solutions to your simulation problems. 
And here's how. 

MICROCAP: 

Your Analog Solution 

MICROCAP is an interactive analog 
circuit drawing and simulation system. 
It allows you to sketch a circuit diagram 
right on the CRT screen, then run an AC, 
DC, or Transient analysis. While pro- 
viding you with libraries for defined 
models of bipolar and MOS devices, 
Opamps, transformers, diodes, and much 
more, MICROCAP also includes features 
not even found in SPICE. 

MICROCAP II lets you be even more 
productive. As an advanced version, it 
employs sparse matrix techniques for 
faster simulation speed and larger net- 




"Typical MICROCAP Transient Analysis" 

works. In addition, you get even more 
advanced device models, worst case capa- 
bilities, temperature stepping, Fourier 
analysis, and macro capability. 



MICROLOGIC: 
Your Digital Solution 

MICROLOGIC provides you with a 
similar interactive drawing and analysis 
environment for digital work. Using 
standard PC hardware, you can create 
logic diagrams of up to 9 pages with each 
containing up to 200 gates. The system 
automatically creates the netlist required 
for a timing simulation and will handle 
networks of up to 1800 gates. It provides 
you with libraries for 36 user-defined 
basic gate types, 36 data channels of 256 
bits each, 10 user-defined clock wave- 
forms, and up to 50 macros in each net- 
work. MICROLOGIC produces 
high-resolution timing diagrams showing 
selected waveforms and associated 
delays, glitches, and spikes — just like the 
real thing. 




"Typical MICROLOGIC Diagram " 

Reviewers Love 
These Solutions 

Regarding MICROCAP . . . "A highly 
recommended analog design program" 
(PC Tech Journal 3/84). "A valuable tool 
for circuit designers" (Personal Software 
Magazine 11/83). 

Regarding MICROLOGIC ... "An effi- 
cient design system that does what it is 
supposed to do at a reasonable price" 
(Byte 4/84). 

MICROCAP and MICROLOGIC are 
availablefor the Apple 11 (64k), IBM PC 
(128k), and HP-150 computers and priced 
at S475 and S450 respectively. Demo 
versions are available for S75. 

MICROCAP II is available for the 
Macintosh, IBM PC (256k), and HP-150 
systems and is priced at S895. Demo 
versions are available for S100. 

Demo prices are credited to the 
purchase price of the actual system. 

Now, to get on line, call or write today! 

Spectrum Software 

1021 S. Wolfe Road, Dept. B 
Sunnyvale, CA 94087 
(408) 738-4387 

Inquiry 384 



Inquiry 138 



TOUGH LOCAL NETWORK PROBLEM: 

"How can our department get our six computers and three 

printers to work together efficiently? We also want to 

he able to access outside data services and our 

future company LAN." 

SIMPLE $2995* SOLUTION: NetCommander 

NetCommander is a smart, small Local 

Area Network manager. It lets you link 

from four to 40 computers and peripherals — 

in any mix of models and makes. A 50K buffer 

(expandable to 250K.) makes sure that productivity 

is high — keeping fewer printers humming — while 

computer and PC users do their thing, without waiting 

for a printer, modem, or shared disk. Those devices can be 

specified with names defined by users — and allocated on the 

basis of availability and capability. And NetCommander handles 

multiple protocols and different baud rates simultaneously — 

without modifications to hardware or software. It will also tie into your 

company's LAN. The latest in a family of products in use since 1979, 

NetCommander is a smart, small, efficient network manager. 

For more information, call or write: 

-NetCommander 



Digital Products Inc. • The Simple Network Solution Company 

600 Plra.mm Street • W'atertounu MA • 02172 

(617) V2-t-I6X0 • Outside Mass., call I -H00 -2-1 3 -23 33 

And check out our 30-day trial ex'aluation. 

•For Hi pons 



The BASIC idea. 




Now it's even better. 

T 



J 



A new, more powerful version of the 
world's most widely used programming 
language-created by the original developers 
of BASIC, John Kemeny and Thomas Kurtz. 

True BASIC is still easy to learn and use yet 
offers the following advanced features: 

• STRUCTURE-True BASIC allows you to 
write modular programs. It supports 
advanced control structures such as SELECT 
CASE, IF-THEN-ELSEIF, DO Loops, etc. 

• EXTERNAL PROGRAMS-lncrease your 
programming efficiency by storing fre- 
quently used functions and subroutines 
in user-defined libraries. True BASIC 
supports calls to assembly language 
subroutines. 

• FULL MEMORY-With True BASIC you 
can use all the available memory in your 
computer. 



• SUPERIOR GRAPHICS-Allowyou to 
draw in your own coordinates, not in 
terms of pixels. Animation, sound and 
color are supported. 

• IMPROVED ERROR CHECKING- 

Compiler reports syntax errors before 
running a program. The language incor- 
porates user-defined error messages. 

• WINDOWS-?ue BASIC allows you to 
program multiple screen windows, each 
with its own parameters. 

• SPEED-Because True BASIC is compiled, 
it is faster than interpreted BASICs. Auto- 
matic 8087 support is standard. 

Now available for the IBM PC Apple 
Macintosh available Summer, 1985. 

True BASIC™ 

The BASIC idea made better. 
" Addison -Wesley 

Reading, Massachusetts OltiG? 

True BA5IC is a trademark of True BASIC, Inc./IBM is a regis- 
tered trademark of International Business Machines, Inc. /Apple 
is a trademark of Apple Computer; Inc. /Macintosh is a trade- 
mark licensed to Apple Computer, Inc. 



SUBROUTINE LIBRARIES 



Subroutine libraries 
maintain consistency 
between programs. 



tue of the "hidden" portion of a 
library-based unit: You can implement 
the unit however you want, and the 
program doesn't care as long as the 
interface remains the same. This can 
make a big difference when several 
large programs use the same library 
and recompilation might end up tak- 
ing a few hours. 

Sample Libraries 

TWo actual subroutine libraries are 
available for downloading from BYTE- 
net Listings at (617) 861-9774. The 
first— an include file— is a rather exten- 
sive 56K-byte source text library 
designed for llirbo Pascal running 
under MS-DOS. I was unable to learn 
the author of this public-domain file; 
it was uploaded to my bulletin board, 
and a copy can be found on the 
BYTEnet Listings bulletin board. The 
file is named TURBUTIL.PAS. 

The second library, an intrinsic 
(library-based) unit designed for 
Apple Pascal, contains a number of 
routines for low-level manipulation of 
memory, variables, and pointers. The 
unit actually has two parts, one in 
Pascal, the other in 6502 assembly 
language. The first part must be com- 
piled, the second assembled, and 
then the two are linked together. 
These files, too, are posted on BYTE- 
net Listings and are named LOWLIB. 
PAS and LOWLIB.ASM, respectively. 

Conclusions 

Subroutine libraries save time, main- 
tain consistency between programs, 
and speed up the entire software- 
development cycle. Their importance 
is evident in the large role they play 
in newer languages, such as Modula-2 
and Ada. 'l&ke it from someone who 
spent over two years developing a 
large (20,000+ lines), complex set of 
Pascal programs: Libraries can be a 
real lifesaver. ■ 



262 BYTE • JUNE 1985 



Inquiry II 






Put your PC 
in Pictures 



With PC-EYE™ your IBM PC can 
capture real-life pictures of people, 
products, drawings, text - anything 
a video camera can see. Add one 
or more of CHORUS' software 
packages and you can perform 
sophisticated graphic arts, data 
base management, security and 
long distance communications 
tasks. 




Start with the PC-EYE™ video 
capture system. There are three 
models to choose from with up to 
640 x 512 resolution — 16, 64, 
and 256 gray levels or color 
combinations. Then add one or 
more of the following software 
packages for your application. 




PhotoBase™ - Integrates pictures 
with your data base 

Compatible with dBase II, R:Base 
4000 and the IBM Filing Assistant 
and others, PhotoBase lets you use 
your data base system as you now 
do. BUT, now you can add a quarter 
screen picture captured by a video 
camera or VCR and display data, 
pictures, and signatures on the 
screen simultaneously. Applications 
include real estate, bank security 
and signature verification, medical 
record keeping, product cataloging 
and more. 





IMiGIT 



IMiGIT™ - Graphic Arts Capability 

IMiGIT is icon driven and ideal for 
creating traditional or exotic illustra- 
tions using combinations of art, text 
and photos for slide presentations, 
video graphics, CAD, medical, adver- 
tising and publishing applications. 
IMiGIT PLUS delivers high quality 
true color graphics you can mani- 
pulate and edit with text, painting, air 
brushing, curve fitting, filled and 
unfilled circles, boxes and much 
more via mouse or digitizer pad. 




CHORUS 



i^^' 



PhotoMail™ - Two-way 
Communications using pictures, 
text and voice. 

Transmit pictures over ordinary 
telephone lines to remote com- 
puters. Pictures of people, dia- 
grams, text, houses, construction 
sites - anything you can capture 
with standard video equipment you 
can display and transmit at resolu- 
tions up to 640 x 400 x 16 levels of 
gray or color. You can edit pictures 
with text and labels. Dual cursors 
permit simultaneous pointing to 
common pictures. PhotoMail sup- 
ports alternate voice and image 
transmission, disk storage, and 
hardcopy printout. File conversion 
is included to support "electronic 
mail" systems. 




Great Value Added Opportunities 

OEMs and software developers can 
incorporate high quality pictures 
int6 their products. Systems can be 
upgraded with PC-EYE digitizing 
expansion boards using an EIA 
RS-170 or RS-330 video source 
and PC-EYE imaging subroutines. 

Call us about our other imaging 
products like Colorverter,™ 
Screen Master,™ and CompressIT™ 
to help meet your application needs. 
1-800-OCHORUS or 603-424-2900. 
Or write for our "Seeing is 
Believing" comprehensive brochure. 

TM: All are trademarks of 
CHORUS DATA SYSTEMS, INC. 



*dBase II is a trademark of Ashton-Tate; R-Base 
4000 is a trademark of Microrim, Inc.; IBM Filing 
Assistant is a trademark of International Business 
Machines Corporation. 



Inquiry 82 



CHORUS Data Systems, Inc., 6 Continental Blvd., P.O. Box 370, Merrimack, New Hampshire 03054 



Give us your staine 
your filthy dirty 





Aunt Molly's jam 



Regular coffee, two lumps 




The big chill 



Hot dog mustard 




Potted plant-no pot 




Fizzy orange soda 




Clouds of smoke 




Tacky white tape 




Cracker crumbs 



One scoop of ice cream 

264 BYTE • JUNE 1985 



Sudsy soap bubbles 





Maria's liquid cover 




Lunchcounter ketchup 



-r— r^ *— 



I 



Dust (cough-cough) 




Chocolate fingerprints 



iyour dog-eared 
your mistreated 











I 



Dry martini, one olive 



Boss's cigar ashes 



Spilled milk 



Dog-eared jacket 










i 



Sunny side up 



Waterbased ink spots 



English breakfast tea 



-fl^ w f\ 



Eraser bits 



If it's a Polaroid 
diskette,well fix it. 

Accidents can be fatal to floppy disks. But now and we will tell you how our service works. 
Polaroid introduces a free data recovery service. These Polaroid floppy disks boast a 20-year 

So, if you spill coffee on a Polaroid Professional guarantee and are certified 100% error-free. And 

Quality Diskette, we can help recover your data. only Polaroid offers a free data recovery service. 

(And most other accidents, too.) Call 800-241-4403 Because accidents happen. 



Polaroid" 8 of Polaroid Corp. 
Perfect Data"™ of Perfect Data Corp. 

Inquiry 331 



= Polaroid 



PerfectData 



THE PROFESSIONAL QUALITY DISKETTE IN THE GRAY BOX. 



©1985 Polaroid Corp. 
JUNE 1985 -BYTE 265 




2400 bps modems: 
Do you Really need 
another speed? 



• Is the shift from 300 to 1 200 bps going to repeat itself 
at 2400 bps? The answer is both yes and no. There 
certainly are applications for 2400 bps asynch dial-up 
modems, but we shouldn't expect 1200 bps to die 
overnight. 

• 2400 bps modems can improve throughput, thereby 
getting tasks done quicker and more economically 
However, 1200 bps has become the virtual standard for 
professional dial-up communications, and most users 
are satisfied with it. So why consider a 2400 bps modem 
at all? 

• One reason is flexibility. If the modem you select 
operates at all three speeds (300, 1200 & 2400) in 
accordance with accepted industry standards, it will 
serve virtually all dial-up applications now and in the 
foreseeable future. 

• The modem you select should be the 
MultiModem224. It is Bell 21 2A and 103 compatible at 
1200 and 300 bps, and CCITT V.22bis compatible at 
2400. It is also 100% compatible with the Hayes 
command set, meaning that it will work with virtually all 
communications software packages, at all three speeds. 
Other features include both synchronous and 
asynchronous operation, full intelligence and a phone 
number memory. 

• The MultiModem224 is available in both desktop and 
IBM PC™ internal card versions. (There is also a rack- 
mounted version for central sites.) And as a bonus, we 
provide free offers from ten of the most popular on-line 
information services, including CompuServe™ Dow 
Jones™ and The Source.™ 

• A 2400 / 1 200/300 bps modem is just a plain good 
investment. Why not let the MultiModem224 provide your 
communications for both today and tomorrow? 



Inquiry 300 



MultiTech 

Systems 



82 Second Ave. S.E.. New Brighton. MN 55112 



The right answer evesy time. 

(612) 631-3550, TWX: 910-563-3610 



Mutti « 

Systems ^Qf 




MuWMoc^224 



2400/1200/300 BPS Intelligent Modem 



PROGRAMMING TECHNIQUES 



USING DATA FLOW 

FOR APPLICATION 

DEVELOPMENT 



by Wayne P. Stevens 



This form of linkage results in functions 
that are easier to understand, develop, and maintain 



DATA FLOW IS the technique of con- 
necting functions only by flows of 
data. Data-flow diagrams, which 
depict the flows of data among func- 
tions, are a natural way to document 
and design applications. The resulting 
applications are much easier to 
develop, test, and maintain, and the 
various functions are easier to reuse 
than those connected in other ways. 
The terms "data flow" and "data- 
flow diagrams" have gained populari- 
ty in the last 5 to 10 years. However, 
the concepts they represent have 
been used in the computer industry 
since its inception. lob steps are con- 
nected to each other by flows of data 
through the files and databases they 
reference. And systems flowcharts, the 
diagrams that depict the flows of data 
among job steps, are not flowcharts 
in the normal sense, but rather charts 
of data flow— data-flow diagrams (see 
figure 1). 

Kinds of Connections 

Almost all connections between func- 
tions in computer applications in- 
clude the sharing of data. With data 
flow, only one function can access the 



data at a time. Connections between 
functions can also include passing 
control or sharing a common data 
area, neither of which involves data 
flow. The following are various ways 
in which one function in an applica- 
tion can relate to another: 

• follow or branch to another function 
in the same program 

• do a source include or reference a 
macro 

• perform or branch and link to an- 
other function in the same program 

• call another function 

• pass only data to another function 

When functions follow each other in 
the same program, the computer 
automatically executes the second 
one after executing the first. The con- 
nection consists of passing control 
from the first to the second. While 
they are also connected by any vari- 
ables they can both reference, there 
is no flow of data. The same is true if 
one function branches to the other. 

Source includes, which bring a 
referenced function into the program 
at compile time, enable multiple pro- 
grams to include a particular function. 



However, once included, its connec- 
tion to the functions around it is the 
same as above. It is connected by 
passed control and shared common 
data rather than by data flow. 

A perform or branch and link to a 
function within the same program in- 
volves a more reusable routine. How- 
ever, the connection between the 
functions is still one of passed con- 
trol and shared common data. 

When you package functions into 
separate modules, usually with a 
separate compile, you can pass data 
between them. A called function 
receives data from its caller, does its 
job, and can pass data back to its 
caller. The data passed is accessed 
only by the called routine until it 
returns control to the caller. This pass- 
ing of control makes the functions 
more dependent on each other than 
those connected only by data flow. 

[continued) 
VJayne P. Stevens (IBM Corporation, 1241 
East Main St., Stamford. CT 06904) works 
in IBM's Information Programming Services 
doing planning for future development tools. 
He has an M.S. in electrical engineering from 
MIT. 

JUNE 1985 -BYTE 267 



Inquiry 385 



Pascal and C 

Programmers 



Your programs can 
now compile the 

FirsTime™ 



FirsTime is an intelligent editor that 
knows the rules of the language being 
programmed. It checks your statements 
as you enter them, and if il spots a 
mistake, it identifies it. FirsTime then 
posit ions the cursor over the error so 
you can correct it easily. FirsTime will 
identify «// syntax errors, undefined 
variables, and even statements with 
mismatched variable types. In fact, any 
program developed with the FirsTime 
editor will compile on the first try. 

More than a syntax checker! 

FirsTime has many unique features 
found in no other editor. These powerful 
capabilities include a zoom command 
that allows you to examine the 
structure of your program, automatic 
program formatting, and block 
1 ransf orms. 

If you wish, you can work even faster 
by automatically generating program 
structures with a single key-stroke. This 
feature is especially useful to those 
learning a new language, or to those 
who often switch between different 
languages. 

Other Features: Full screen editing, 
horizontal scrolling, function key menus, 
help screens, inserts, deletes, appends, 
searches, and global replacing. 

Programmers enjoy using FirsTime. It 
allows them to concentrate on program 
logic without having to won-y aboul 
coding details. Debugging is reduced 
dramatically, and deadlines are more 
easily met. 

FirsTime for PASCAL $245 

FirsTime for C $295 

M icrosof t PASCAL Compiler $245 

Microsoft C Compiler $395 

Demonstration disk $25 

Get an extra $100 off the compiler when 

it is purchased with FirsTime. 

(N.J. residents please add 6% sales tax.) 



Spruce 

Technology Corporation 

1 10 Whispering Pines Drive 

Lincroft, N.J. 07738 

(201) 741-8188 or (201) 663-0063 

Dealer enquiries welcome. Custom versions 
for computer manufacturers and language 
developers are available. 

FirstTime is a trademark of Spruce Techmilnjjy 
Corporal ion. r -->-— -O MHH^H 

WtwCordi | VISA* I 



DATA FLOW 



Functions connected by data flow 
are not dependent on adjacent func- 
tions. They simply do their jobs, send- 
ing and receiving data as available. 
This independence is what makes it 
easier to develop and maintain data- 
flow-connected functions. 

Connections that pass control re- 
quire that the functions be on the 
same computer at the same time, and 
many require that the functions be 
written in the same language. 

In contrast functions connected 
only by data flow, such as job steps, 
need not be on the same computer 
at the same time, or ever. For exam- 
ple, an independent job step can ex- 



ecute as long as its input data is avail- 
able and it can dispose of its output 
data. It is not dependent on whether 
the previous step is or was ever on the 
same machine, or even if it was ac- 
complished on any machine— it may 
be a manual step. The only constraint 
is that the passed data be available. 
Actually, most connections between 
functions are data flow. Job steps are 
data-flow-connected; so are com- 
mands in on-line development sys- 
tems. Consider the commands that 
read in a file, sort it, and print. These 
commands operate independently 
and can be used to process the data 

' (continued) 





CONTROL 
LISTING 
TOTAL TRANS. 
§ VALUE 



VERIFY 



SORTED 

PAYMENTS 

FILE 



MERGE BY 
INVOICE 

NUMBER WITHIN 
CUSTOMER NUMBER 







' 




! 

1 






CONTROL 
LISTING 


FLAG PAID 
INVOICES 
UPDATE AND 








PAYMENT [^ 


FLAG 
PARTIAL 
PAID IN> 


.LY 
/OICES 




JOURNAL 




NEW 
INVOICE 
SUMMARY 
FILE 



Figure I : A systems flowchart—also a data-flow diagram. 



268 B YTE • IUNE 1985 



The Corporate Database Standard. 



DATAEA5E 

#1 with Corporate users. 

Thousands of businesses, both 
large and small, use DATAEA5E 
to solve their needs. Because 
DATAEA5E, with its ideal combi- 
nation of power and ease-of-use, 
allows you to gather, link, calcu- 
late and report information Key 
to decision making — all without 
programming skills. 

% We chose DATAEA5E over 
dB/\5Ell m and Lotus 1-2-5™ 
because most of the program- 
ming was already done" 

Joe Dane, human Resources Director 
MCI Telecommunications Corporation 

"Office staff members with little 
to no computer experience are 
actively using DATAEA5E to 
improve productivity in handling 
large amounts of information." 

Louis M. Brigando, Senior \tP, 
MetPath, Inc. 



'We switched from a $250,000 
mini system to a $15,000 sys- 
tem of IBM PCs and DATAEA5E. 
Now orders, inventory, sales . . . 
everything is easier: All without 
the help of a programmer" 



J A. Fulmer 
Robinson 
Foundry, Inc. 



DATAEA5E 

#1 with Reviewers 

"/ was very impressed with its 
overall performance and features" 

Bill Jacobson 
BYTE, October 1984 



*DATAEA5E is a true winner" 

Business Computer Systems 
April 1984 

DATAEA5E was rated good or 
excellent in performance, docu- 
mentation, ease-of-use, error 
handling, support... in all areas. 

InfoWortd 
March 25, 1985 

"DATAEA5E is perhaps the most 
effective blend of ease-of-use 
and performance available for 
PC users to date" 

Data Decisions 
January 1985 

For information or the dealer nearest you call: 

800-243-5123 



i 1985 5oftware Solutions, Inc. 




DATAEA5E 

#1 in Corporate sales. 

According to several recent best 
seller lists, DATAEA5E is now the 
industry standard for corporate 
users who want a database that 
doesn't require programming: 

DATAEA5E tops dBA5EII, R:BA5E™ 
in Corporate 5oftware sales. 

tnfosystems, March 1985 
Corporate Bestseller List 



DATAEA5E outsold all other 
database management systems - 
ahead of dBA5EIII ™ , 5 ymphony™ , 
Framework™ and R-.BA5E 4000. 

MIS, Inc., September 1984 

A leading supplier to Corporate 

America 

DATAE A5E ranked #5 on best 
sellers list; outselling 
Lotus 1-2-5™, R-m5E and 
Power base™. 

Software News, March 1985 
Corporate Bestsellers List 

Why settle for less? Contact 
Software Solutions, Inc. for more 
information on DATAEA5E, the 
#1 choice of Corporate America. 

5oftware Solutions, Inc. 

505 Bic Drive, Mllford, CT 06460 
205-877-9268 
Telex: 705972 



5candanavia 

West Soft A/5, Alesund, Norway; (47) 71-41141 



5outh Africa 

Dataflex, Craighill; 11724-6353 

United Kingdom West Germany, Austria 

Sapphire Systems, Essex; 01-554-0582 M&T Software Verlag, Munich; 089-4613-0 



Switzerland, France 

Softsource, 5&A 1222 Vesenaz, Switzerland; 022-3518-55 



Inquiry 379 



JUNE 1985 -BYTE 269 



DATA FLOW 



the previous command produced as 
output, that is, read, sort, and print 
the same file Similarly data flow con- 
nects the commands or transactions 
in on-line applications. The interfaces 
between computer applications and 
their users are also based on data 
flow. And functions in distributed ap- 
plications operate independently, 
passing data to one another. 

The various commands within text 
editors are also data-flow-connected. 
They do not call each other, they just 
act on the data in the file being 
edited. You can execute them in any 
order. And the text editors are data- 
flow-connected to the text processors 
that format and print the data. The 
UNIX shell can connect independent 
modules with data flow via pipes. IBM 
PC-DOS uses a similar technique to let 
programs pass data to generalized I/O 
(input/output) routines. 

Using Data Flow 

You and I use data flow every time we 
communicate with someone else, 



pass a form or letter along, or enter 
data into a computer. In fact, it is hard 
to avoid using data flow. Let's apply 
this inherent knowledge to the pro- 
cess of developing applications. 

The basic tool for utilizing data flow 
is the data-flow diagram. This is 
similar to a systems flowchart but with 
slightly different symbols. Data-flow 
diagrams do not indicate the medium 
on which the data will be passed 
(tape, disk, printer, etc.). Data-flow 
diagrams using the Gaine and Sarson 
notation (see reference I) include five 
symbols (see figure 2). Functions are 
represented by rectangles, and flows 
of data among them by arrows. Files 
and databases are represented by a 
U-shaped symbol on its side (or just 
parallel lines). Squares represent ex- 
ternal entities that are sources or 
targets for data (e.g., user depart- 
ments). Small circles are used for off- 
page connectors. And typically data 
flows from left to right in the 
diagrams. 

One advantage of this notation is its 



ability to include both the limited 
system name for a function or file and 
a longer, descriptive label. There are 
other notations (see figures 3 and 4), 
but the meaning is the same. They all 
show functions connected by flows of 
data to other functions, to files, and 
to external entities. 

The key to developing data-flow 
diagrams that are easy to work with 
is to keep them to 7 ± 2 functions. 
Our short-term memory can handle 
only 7 + 2 chunks easily and accurate- 
ly. (This is why, for example, local tele- 
phone numbers were limited to 7 
digits.) An 8/2- by 11-inch piece of 
paper also contains approximately 
the amount of information we can 
easily handle at one time. It is no ac- 
cident that data-flow diagrams kept to 
7 ± 2 functions will fit on a single 
page. 

You can represent larger numbers 
of functions without exceeding 7 ± 2 
functions in any one diagram by using 
hierarchies (see figure 5). Any function 
on a data-flow diagram can represent 



IH STOCK 



CUSTflHER 



ORICR 



iMer 

EKTRY 



t*3€K 



I'lHORT 1 

hmr 

■HllfflEHTORV 



rrcicE™ 

H DRIER 



SMFflHG NOTICE 



•W ) 



murr 



Twsnr 



ship™ 



W STOCK 



-rarer 

INVOICE 



iiRv rn 



IMKTORY 



our OF STOCK 



m 



wmr 



\mmm 



&> 



OUT OF STOCK 



A SftTA FUN MAGRfiH 



mrm 



\mmmi 
mcrwr 



Figure 2: A data-flow diagram. Rectangles represent functions 
(notice that each rectangle contains a short description of the 
function and, above it. the name of the computer module that 
implements it), arrows represent flows of data, squares represent 



external sources or destinations of the data, and sideways Us 
represent files or databases. This figure was drawn by 
EXCELERATOR. a program that manages and manipulates 
data-flow diagrams. 



270 BYTE • JUNE 1985 



DATA FLOW 



a lower-level data-flow diagram, and 
so on. The process stops when you 
are going to implement a function via 
a different technique, for example, as 
an individual module or as a hierar- 
chy of called modules. It is not nec- 
essary to decompose all the functions 
at any given level in the hierarchy. Any 
one or more may be decomposed, 
while others in the same diagram can 
be bottom-level modules. 

In hierarchies of data-flow diagrams, 
a function's lowest-level diagram must 
show the data flows into and out of 
it (see figure 5). However, higher-level 
diagrams can repeat files and exter- 
nal entities shown on a lower-level 
diagram or not, as desired. In fact, 
often the highest-level diagrams only 
show the major flows of data. The files 
are relegated to the lower-level 
diagrams. It is helpful, though, to 
show files shared between two func- 
tions on the highest-level diagram that 
contains the two functions. 

How do you design the flows of 
data within a single diagram? If you 
are documenting an existing manual 
or automated application, you can do 
the following: 

• Record existing functions and the 
data that flows among them. 

• Include existing files and external 
sources and targets for data. 

• Name each function, flow of data, 
file, database, and external entity. 
Note that functions do something to 
the data, and thus typically their 
descriptions start with a verb (e.g., 
READ THE SCREEN, EDIT THE 
DATA). Flows of data are objects. Their 
descriptions are usually nouns, often 
qualified by an adjective (e.g., 
MASTER RECORD, FORMATTED 
RESULTS, TRANSACTION). Files and 
databases typically have names that 
indicate their contents (e.g., PAY- 
ROLL, ORDERS, TRANSACTION 
LOG). An external entity can be a 
manual step, another application, in- 
put data, or an output report. Its 
name usually reflects the name of the 
user, application, data, or report. 

Some approaches and tips that can 
help when you design a new data-flow 

[continued] 




BACK ORDERS 



BACK ORDER FILE 



Figure 3: A Yourdon data-flow diagram. This diagram is equivalent to figure 2 
but is in the notation used by Yourdon Inc. 



ORDER 



2 D ORDER ENTRY 



PRINT INVOICE 




3B 



IN STOCK 



6A 



INVOICE 



SHIPPING 
NOTICE 



Figure 4: A data-flow diagram in Swedish notation. This diagram is equivalent 
to figures 2 and 3 but uses a different notation. Note: The large boxes are forms 
and the small ones are functions. 



JUNE 1985 -BYTE 271 



DATA FLOW 



diagram are the following: 

• When designing flows between new 
functions, do it as if the functions were 
people at desks who send forms to 
each other. 

• Group data that logically goes 
together into forms (similar to design- 
ing a flat-file record). 

• Do not try to send the minimum 
data to each function, as in structured 
design (see reference 2). Sending sub- 
sets of data is only applicable when 
each function must return its data to 
its caller. In data-flow diagrams, a 
function typically sends data forward 
to another function rather than back 
to the function that sent its data. So, 
unless all the data is sent forward 
together, it is usually necessary to 
reassemble it later in the diagram, and 
this is a complex and unnecessary 
task. 

• Since a big advantage of data-flow 
connections is easy reuse, take advan- 
tage of existing usable functions. Of 



course, using an existing function 
determines the data flows between it 
and adjacent functions. 

• Draw data-flow diagrams to de- 
scribe either existing and/or new 
physical systems. Drawing old and 
new logical systems seems to be dif- 
ficult and creates unnecessary steps. 

The Benefits of Data Flow 

Connecting functions only by flows of 
data has several advantages. 

• It is a consistent, natural way to view 
connections between functions. 

• The resulting applications are 
simpler to understand, develop, and 
maintain. 

• Testing and making changes are 
both much easier. 

• Such functions are easier to reuse 
than functions connected in other 
ways. 

Developing applications involves 
viewing them at several phases in the 
development process. First, there are 




Figure 5: Skeleton hierarchies of data-flow diagrams. 



the manual applications that are be- 
ing automated or to which an auto- 
mated application must interface. You 
can describe manual applications 
with data-flow diagrams. In fact, data- 
flow diagrams may be the best way to 
picture many manual applications so 
that people not trained in data pro- 
cessing can easily understand and 
relate to them. 

The development phases include 
application identification, analysis and 
design, implementation, and mainte- 
nance. The purpose of application 
identification is to determine the 
major functions to be performed and 
the flows of data among them. This 
is the information that data-flow 
diagrams depict. Structured analysis 
is the technique of using data-flow 
diagrams for the analysis and design 
phase. Most of the advantages of 
structured techniques come from the 
ability to consider part of the applica- 
tion relatively independently of the 
rest. The segmentation of structured 
programming, the modules of struc- 
tured design, and the functions of 
HIPO (hierarchy plus input, process, 
output) provide the pieces we can 
consider separately Hierarchies pro- 
vide these advantages for data-flow 
diagrams. 

Functions must share data in order 
to be part of the same application. 
Data-flow diagrams can picture the 
flows between many of the functions 
during implementation, for example, 
jobs, job steps, and on-line com- 
mands. And you can use the same 
diagrams for maintenance that you 
used for design and implementation. 
Often, applications in these various 
phases are seen differently. This re- 
quires translating between the dif- 
ferent views as development pro- 
ceeds, which adds complexity and in- 
troduces errors. However, you can use 
the data-flow view of an application 
in all phases of the development 
cycle. 

There are significant advantages to 
using data flow as a consistent ap- 
plication view. First, you can include 
both manual and automated func- 
tions in the same diagram. Second, 

(continued) 



272 B YTE • JUNE 1985 



Princeton Graphic Systems 

and Sigma Designs team up to 

give you a brighter, sharper display. 



SR-12 and Color 400. A brilliant 
combination for super-high reso- 
lution graphics and a crisp 
character display. For a brighter, 
sharper display with 
all your IBM PC- 
compatible soft- 
ware here's a team 
that can't be beat. 
The SR-12 super- 
high resolution RGB 
monitor from 
Princeton Graphic 
Systems and Color 
400, the advanced color 
graphics adapter card from 
Sigma Designs. 

Snap in Color 400. Begin by 
snapping Color 400 in to your IBM 
PC, XT, or AT. No switches to 
set. No cables to con- 
fuse. Color 400 gives 
you a razor sharp 640 
x 400 display. It 

( automatically doubles the 

number of lines on standard 200 
.line software. Watch your 
M |» graphics come to life. Enjoy fully 

\ \ M formed, monochrome-quality 
^■^ ^** characters in text mode. Just 
turn on your PC and tune in a whole new world 
of vibrant color. 





Turn on SR-12 for the impressive 
results. The SR-12 displays your Color 
400 image with unmatched clarity and 
brilliant color. Because the SR-12 
combines a .31mm dot 
pitch tube and a non- 
glare screen with an in- 
credible 640 x 400 non- 
interlaced resolution, 
you get a flickerless 
image that's as crisp 
and clean as a per- 
sonal computer 
can produce. 

See how impressive 
this state-of-the art image 
can be on your own PC 
system. Visit your local 
retailer today and ask 
about this new color graphics 
team. Princeton Graphic System's 
SR-1 2 and Sigma Designs' Color 400. 
An unmatched, brilliant combination. 



SR-12 



Color 400 





ra, SIGMA 
L^W DESIGNS 

SIGMA DESIGNS, INC., 2023 OToole Avenue, San Jose, CA 95131 
(408)943-9480 Telex: 171240 



P RINCETON 

GRAPHIC SYSTEMS 

AN INTELLIGENT SYSTEMS COMPANY 

Princeton Graphic Systems, 601 Ewing Street, Bldg. A, Princeton, N.J. 08540 
(609) 683-1660, Telex: 821402 PGS PRIN, (800) 221-1490 Ext. 204 



Graphic Screens courtesy Mouse Systems, Inc. and Forthright Systems, Inc. 
IBM PC. PC XT, and PC AT are registered trademarks of International Business Machines, Inc. 



Inquiry 334 



IUNE 1985 -BYTE 273 




THE LARGEST CAPACITY DISK EMULATOR 
YOU HAVE EVER SEEN. 

You know about disk emulators. They're fast semiconductor disk 
drives. Very fast. But until now, the most disk storage you could get 
on a single board was 1Mbyte. (That was from us, too.) Now we 
have news that'll really blow your socks off.. . 2 Megabytes on a 
single board. Available NOW. That's not a pie-in-the-sky promise. 

That's enough storage for dozens of large programs and 
hundreds of kilobytes of data files. Enough for almost anything 
you want to do with a disk drive. But that's not all. With SemiSpool, 
our CP/M print spooler, you can implement a print buffer 
hundreds of kilobytes long in seconds. All in software. At no extra 
cost. 

Another thing about disk emulators. Unless they're from 
SemiDisk Systems, they're probably afraid of the dark: Lose power 
or turn the computer off, and your valuable data goes to that big 
backup disk in the sky. But our Battery Backup Units keep 
SemiDisk data flying high while your computer is off, and up to 10 
hours during a complete blackout. 



So remember this; SemiDisk Systems has been buildin 
dedicated microcomputer disk emulators longer than anyone. And 
larger. And faster. And at a much lower cost. And that's not a lot of 
hot air. 

AT A PRICE YOU NEVER THOUGHT YOU'D SEE 





512K 


1Mbyte 


2Mbyte 


SemiDisk I, S-100 


$995 


$1795 




SemiDisk II, S-100 


SI 295 


$2095 


$2549 


IBM PC, XT, AT 


1945 


$1795 


$2499 


QX-10.QX-16 


$799 




$2499 


TRS-80 11,12,16 


$995 


$1795 


$2499 


Battery Backup Unit 


$150 







SEMIDISK 






SemiDisk Systems, Inc. 

P.O. Box GG, Beaverton, Oregon 97075 

503-642-3100 



Call 503 646 5510 for CBBS/NW. 503-775-4838 forCBBS/PCS. and 503 649-8327 for CBBS/Aloha. all SemiDisk equipped computer bulletin 
boards (300/1200 baud) SemiDisk, SemiSpool trademarks of SemiDisk Systems. CP/M trademark of Digital Research. 



274 BYTE • JUNE 1985 



> 






Inquiry 366 



DATA FLOW 



you can automate various functions 
within a diagram at different times 
without having to modify it. And third, 
cycling back for corrections is much 
easier since it doesn't require trans- 
lating between various different ap- 
plication views. 

Data flow is the natural way to con- 
nect functions because that is how 
people interact with each other. We 
go about our business independent- 
ly until we exchange information with 
others by talking with them, passing 
along forms, etc In the same way, ap- 
plication functions connected by data 
flow operate independently and inter- 
act with each other by exchanging 
data. 

Data-flow diagrams can describe ap- 
plications from the simplest to the 
most complex, whether on-line, batch, 
or distributed. With data flow, on-line 
applications differ from batch only by 
doing input and output to terminals 
rather than to readers and printers. 
Distributed applications are natural- 
ly data flow since they consist of func- 
tions that execute independently and 
send data to each other. 

The complexity of developing appli- 
cations rises exponentially as their 
size increases. For example, a two- 
page program is more than twice as 
hard to develop as a one-page pro- 
gram. Not only must each of the two 
pages be developed, but the connec- 
tions between the two pages must 
also be handled, especially if different 
people developed the two pages. You 
can reduce this complexity if you can 
divide the application into parts that 
can be developed relatively inde- 
pendently. The more independent the 
pieces are, the simpler the develop- 
ment. 

Hierarchies of data-flow diagrams 
have a significant advantage over call 
hierarchies. With data-flow diagrams, 
you can consider each level separate- 
ly. But call hierarchies make sense 
only if two or three levels are viewed 
together. You must consider at least 
two levels of a call hierarchy in order 
to even see the relationships between 
functions. Data-flow connections, on 
the other hand, are between functions 
on the same level. Thus, you can con- 



sider each level of a data-flow diagram 
independently making them easier to 
work with and understand. 

The most easily reusable functions 
are those you can use without having 
to understand their internals. It is 
easier to reuse modules that have 
been separately compiled so that you 
don't have to synchronize the local 



variables and labels with those of the 
including module. However, modules 
in a call hierarchy have the definition 
of the hierarchy imbedded within 
them. Thus, it is difficult to reuse any 
but the bottom-level modules in an- 
other hierarchy without recoding 
them; obviously, recoding requires 

[continued] 






NEW SOLUTIONS for DATA/FILE CONVERSIONS 

Our "FILE CONNECTION' ' programs provide 8" diskette file exchange 
between the IBM PC and most Micro-Mini-Main Frame computer systems. 

Our "WORD CONNECTION' ' programs provide 8" diskette text document 
exchange between the IBM PC and many word processing systems. 

Our "DISPLAYWRITER CONNECTION" programs transform documents 
from Textpack, Wordstar, Multimate, etc. to the new DisplayWrite 2 format. 

Also, conversion service is available upon request. 




Flagstaff Engineering 

P.O. Box 1970 • Flagstaff, AZ 86002 • (602) 774-5188 • TELEX 705609 



&i 



Name 

Position _ 
Company . 
Address , 



□ fu'l^Jbuuj^Ju^ 



Inquiry 181 for End-Users. Inquiry 182 for DEALERS ONLY. 



JUNE 1985 -BYTE 275 



Inquiry 43 



Prize 



winning 
software 
from 



AWARD 



Keep Your Computer Fit 
With CROSS-CHEX™ 

Cross-Chex is the complete menu- 
driven system of hardware diagnos- 
tics. It analyzes performance levels 
of Winchester and floppy disk 
drives, video display, RAM memory, 
video memory, ROM character gen- 
erator and keyboard. Includes (1) 
Diagnostic Diskette (1) Cross-Chex 
Program Diskette (1) Users Manual. 
Let Cross-Chex keep your computer 
fit, ensure the performance of your 
computer, maximize your uptime 
and maintain the integrity of your 
data all for the low price of $99.00. 

Convert any CP/M to DOS 
with CROSSDATA® 

Crossdata is the low-cost utility 
software that converts data/text 
file formats from CP/M to MS/PC- 
DOS and back again on any IBM 
PC/XT or clone. 
It is a self-contained program, 
ready to run, that reads/writes 
CP/M and MS/PC DOS Diskettes 
using MS/PC-DOS 2.0, 2.1 or 3.0 
and comes with 28 formats— plus 
youcan addyourown! 
Solve your computer incompatibil- 
ity problems fast with Crossdata, 
the proven conversion package, by 
ordering one today for only $99.00. 

Backup/Restore for Win- 
chester under PC/MS-DOS, 
CP/M86 and CCPM with 
CROSSAVE™ 

Now you can back-up large data 
base files from a Winchester to 
a floppy for files that exceed the 
diskette capacity. 

Crossave will save and/or restore a 
file or a selected group of files that 
have been updated. It also backs 
up and restores ali of the files on 
the Winchester. It uses compres- 
sion to reduce storage space re- 
quirements on the floppy and 
expands the file upon restoration. 
Requires IBM PC/XT or clone. 
Reasonably priced at $99.00. 

No risk 10-day money back 

guarantee on all products 

Don't delay. Call us today: 
(408)395-2773 or write: 

AWARD 
m SOFTWARE, 
R INC. 

236 North Santa Cruz Ave., 
LosGatos,CA95030 
All major credit cards accepted 



DATA FLOW 



Recommendations 



1 . Use data-flow diagrams to document 
all types of applications throughout the 
development process. 

2. Obtain reference books on data flow 
(see references I and 3). 

3. Keep data-flow diagrams to 7 ± 2 
functions by constructing hierarchies. 

4. Decompose functions to as small a 
module as your environment allows. If 
this is larger than one page of specifi- 



cations (e.g., coding or generator in- 
put), implement the remainder using 
call hierarchies (see reference 2). 

5. Design flows of data as though the 
functions were being done manually 
and connected by flows of forms. 

6. Obtain a good tool to help draw the 
diagrams, and one that captures the in- 
formation for use later in the develop- 
ment cycle. 



knowledge of their internals. Data- 
flow-connected modules don't even 
know the adjacent modules exist. This 
makes them more easily reusable. 

Available Resources 

Designers of data-flow diagrams have, 
up to now, struggled with several com- 
plications we no longer face, including 
lack of education and documentation 
and lack of adequate automated tools 
to help draw the diagrams. Today 
there are companies and consultants 
who teach data-flow concepts; you 
will probably find people in your own 
company who already use data flow. 
Good reference books include those 
by DeMarco (generally considered to 
be the father of structured analysis- 
see reference 3) and Gaine and Sar- 
son (reference l). The text listed as 
reference 4 provides a description of 
the advantages of data-flow mech- 
anisms at the module level. 

Several good products have 
emerged in the past year or so that 
automate the process of drawing and 
maintaining data-flow diagrams. 
Various personal computer software 
packages are adequate for drawing 
and maintaining data-flow diagrams. 
I recommend you look for several 
characteristics in such a tool. It should 
let you enter and change the diagram 
easily. It should enable you to con- 
struct hierarchies of data-flow 
diagrams and, preferably, to move be- 
tween these hierarchies while drawing 
them. It should allow you to enter 
definitions of functions and data into 
a dictionary for later use in the devel- 
opment process. And it should allow 



for selective input and output of such 
specifications so they can be shared 
with other people and used by other 
tools. One example of such a tool is 
EXCELERATOR, available from Index 
'technology Corp. (Cambridge, Massa- 
chusetts) for $8400. 

Summary 

Data-flow connections are the most 
prevalent connection between func- 
tions in computer applications. They 
exist among job steps, on-line transac- 
tions, manual processes, jobs in the 
same application, and distributed ap- 
plications. You can describe them with 
data-flow diagrams (which are similar 
to systems flowcharts). These dia- 
grams provide a natural way to 
describe applications. You can use 
them throughout the development 
process and for all sizes and types of 
applications. Since we naturally inter- 
face with each other in a data-flow 
manner, common skills are used to 
draw the diagrams. And applications 
constructed from data-flow-connected 
functions are easier to understand, 
develop, and maintain. ■ 

REFERENCES 

1 . Gaine, C, and T. Sarson. Structured Systems 
Analysis: Tools and Techniques. New York: Im- 
proved System Technologies, 1977. 

2. Stevens, W. P. Using Structured Design. New 
York: John Wiley & Sons. 198I. 

3. DeMarco, T. Structured Analysis and System 
Specification. New York: Yourdon, 1978, 
pages l— 12 5. 

4. Stevens. W. P. "How Data Flow Can Im- 
prove Application Development Produc- 
tivity," IBM Systems journal 2 1, No. 2, 1982, 
pages 162-178. 



276 BYTE • IUNE 1985 



COMPUTER HUT 



™ COMPARE 

OUR 
SERVICE & PRICE! 



SPECIAL 
OF THE 
MONTH 

IBM-PC, XT & AT^ 
CALL FOR 
PRICE 




MODEMS 



camPAd call 



DISK DRIVES 



landon TM100-2 DS/DD 
MATSUSHITA JA 551 
TE AC FD-55B Slimline 



$159 
$139 
$139 



HARD DISKS/TAPE 



MAYNARD 

WSI $849 WS2 $7049 

IOMEGA 

Bernoulli Box 20 Meg 

EVEREX, SYSGEN 



$2695 
CALL 



\ MAYNARD ELECTRONICS 

Floppy Disk Controller $129 

FDC w/Par. Port or Ser Port $179/189 



ADD-ON BOARDS 



QUADBAM 

Quad board 64K exp. to 384K. 

Quadcolor I & II 

Quad 512+ 64K 

AST RESEARCH 

SixPak Plus 64K 

MegaPlus II 64K 

l/OPIus II 

Advantage 

MICROLOG 

Baby Blue II 64K 

TECMAR 

Graphics Master 

MAESTRO 



$269 
CALL 
$239 

$269 
. $279 
. $729 

CALL 

$489 

. $489 
CALL 

. $335 
$789 



©Hayes 

Smartmodem 1200 . . 

Smartmodem 1200B . 

Smartmodem 2400 . . 

BIZCOMP 

PC Intellimodem 



NOVATION 

SmartCat . . 



. $429 
$389 
$649 

$359 
CALL 
$349 



PRINTERS 



EPSON 

FX-80+ . . . FX-700+ 

RX-80 BEST RX-100.. 

JX-80 DEAL LQ-1500 . 

LX80 

brother 

HR-15 XL 

HR35 

DYNAX/FORTS 

DX-15Par 

DM 40 NLQ 



BEST 
DEAL 



$399 
$839 



C-ITOH 

PROWRITER 
STARWRITER F-10P 

OK'DATA 

182P 

84P . 

92P 

93P 






$399 
CALL 

CALL 
$995 



BEST 
PRICES 



84S. 

92S 

93S 



SEC 

Spinwriter 2050 . . . 

3550 $7449 

Pinwriter P2 $589 

TOSHIBA 

P1351 .... $7299 

DAISYWRITER 

2000 W/48K Buffer. 

DATAPRODUCTS.. 



8850. 
P3... 



BEST 
PRICES 



$699 

$7949 

$795 



P1340 $649 



$849 
CALL 



HERCULES 

Hi Res Mono Graphics .... 
Color Graphics w/Par Port . . 

PARADISE 

Modular Graphics $285 

5-PACK CALL 



EAST COAST 



COMPUTER HUT 

OF NEW ENGLAND INC. 
101 Elm St. Nashua, NH 03060 

(603) 889-0666 

For Orders Only — (800) 525 5012 




ASK ABOUT OUR 

TRAINING & REPAIR 

SERVICES. 



CANADA 



MICROCONTEXT 

AUTHORIZED DEALER 

4847 Ave Du Pare 
Montreal Que H2V4E7. 

(514) 279-4595 



MONITORS 



AMDEK 

Video 300G . . . $735 300A . . . $145 
Video 310A $779 

PGS 

HX12 Hi Res RGB monitor BEST 

MAX-12 Hi Res Mono. PRICES 

SR-12 Super Hi Res RGB 




SOFTWARE 



WORDPROCESSING 

MS Word $239 Multimate $269 

Volkswriter Deluxe $759 

PFS: Write $89 PFS: Proof $69 
WordPerfect $269 WordStar CALL 

DATABASE/INTEGRATED 

dBase III CALL Quickcode III $179 

RBase 4000 $279 Clout 2.0 $769 

LOTUS 1-2-3 & Symphony CALL 

Framework CALL 

UTILITIES/COMPILERS 
Crosstalk $709 Smartcom II $709 
Sideways $49 Norton Utilities$59 
Sidekick $45 Turbo Pascal $45 

LIFEBOAT Lattice C $299 

MS Basic $259 MS Fortran $239 

BUSINESS 

MICROSOFT Project $759 Chart $759 

STAR Acct. Partner I & II CALL 

BPI SYSTEMS CALL 

PFS: File $89 PFS: Graph $89 
PFS: Plan $89 Multiplan $139 

OTHER 

Mastertype $35 Typing Tutor III $39 

Math Blaster $39 

Flight Simulator $39 

Managing your money $735 

AND LOTS MORE 

ANY PRODUCT NOT 
LISTED? CALL 



MIDWEST 



COMPUTER HUT»c 

524 S. Hunter 
Wichita, Kansas 67207 

(316) 681-2111 

For Orders Only — (800) 572 3333 



All products usually h stock for immediate shipment and carry full manufacturers' warranty. Price subject to change — this ad prepared two months in advance. You get the 
lowest price. We honor personal checks — allow 10 days to clear. COD up to $300 add 2%. Visa, MasterCard add 2%. For shipping & insurance add 2% or $6.00 min. for 
small items and $12. min. for monitors, printers, etc. We accept company checks and RO.'s from Fortune 1000 Companies. 

Return authorization and order status call information line inquiry 103 45 



IBM is a trademark of IBM Corp. 



Lets get straight to 

the point. We think our 

VTERM software is the most powerful 

and versatile micro-to-mainframe link you 

can buy for an IBM PC or compatible. The fact is, 

NO OTHER COMMUNICATIONS 
PROGRAM DOES SO MUCH. 

VTERM is a single integrated package that combines 

terminal emulation, file transfer, mainframe graphics, 

and general communications capabilities. As a terminal 

emulator, VTERM is unsurpassed by other software. It 

TURNS YOUR PC INTO A VT100 OR 
TEKTRONIX 4010 TERMINAL 

The emulation is complete. Host software written for a 
VT100, VT52, VT101, VT102 or Tektronix 4010 will run 
without change using a PC and VTERM. You get through- 
put to 9600 baud, printer and plotter support, disk capture 
of graphics and text, easy-to-use setup screens, multiple 
setup files, programmable softkey macros, on-line help, 
automatic dialing, full keyboard emulation, and more. 

FOUR ERROR-CORRECTING FILE 
TRANSFER PROTOCOLS 

are supported by VTERM. They include our power- 
ful VTRANS 7 and VTRANS 8 protocols. (VTERM 
comes with complete VTRANS host software for 
several host operating systems.) In addition, you 
get ASCII text file exchange and XMODEM, as 
well as the new micro-to-mainframe standard: 

KERMIT. YES, KERMIT! 

Kermit is a versatile error-correcting file 
transfer protocol developed at Columbia 
University. VTERM's Kermit supports 
wildcard transfers, server commands, 
data compression, command macros, 
and other advanced features. Kermit 
requires host software which is avail- 
able at nominal cost from Columbia 
for many host operating systems. 

THE VTERM HOT KEY 

lets you switch instantly be- 
tween DOS and VTERM, so 
you can run local programs 

without losing your terminal 

screen or link to your host. 

132 COLUMN 

display is emulated with 
horizontal scrolling or 
fully implemented with 
an optional adaptor 
board. VTERM can 
redisplay data that 
has scrolled ver- 
tically off the 
screen. 



JOIN US AT 

NEW YORK 

COLISEUM 

JUNE 17-19 

1985 

BOOTH NO. 2012 




VTERM 
is now available in 
two versions. VTERM 
4010 has all the features de- 
scribed above. VTERM II has 
all the features of VTERM 
4010 except Tektronix 4010 
emulation. VTERM runs on 
the IBM PC, XT, AT, 
Portable, and com- 
patibles. 

Inquiry 87 



Coefficient Systems Corporation 

611 Broadway, New York, NY 10012 
(212) 777-6707 ext 201 



PROGRAMMING TECHNIQUES 



DEBUGGING 
TECHNIQUES 



by Gregg Williams 



There are no magic formulas but there are tools, 
and the most powerful one is your own brain 



NOBODY LIKES TO debug a program. 
It is tedious, time-consuming, and 
often maddening. Debugging your 
own code is bad enough, but debug- 
ging someone else's (often someone 
who is no longer available for ques- 
tions) can be argued to be cruel and 
unusual punishment— nevertheless, it 
has to be done. 

This article is a compilation of 
debugging techniques gathered from 
my personal experiences program- 
ming in a commercial environment, 
the experiences of other BYTE editors 
and programmers, and published 
texts. The news is not good: There are 
no magic techniques; debugging is ac- 
complished mostly through the sus- 
tained use of a perceptive, disciplined 
mind. Still, you will find the tech- 
niques described here useful if you 
aren't already acquainted with them. 

Although J have tried to make the 
article as general as possible, I'll 
assume that you are running a high- 
level language— BASIC, probably— and 
that you don't have access to any so- 
phisticated debugging tools. 

Before Debugging 

If you are fortunate enough to be 
writing your own code, you can make 



the debugging process easier. Here 
are some suggestions: 

• Use structured programming. This 
does not mean that you have to give 
up GOTO statements, only that you 
not misuse them. You can use 
structured programming techniques 
with any computer language, not just 
so-called structured languages like 
Pascal and Modula-2. Structured pro- 
gramming is a discipline; adopting it 
will improve your programs more 
than anything else mentioned in this 
article. If you do not know much 
about it, you can find plenty of books 
and articles on the subject. 

• Design your programs modularly. 
Consider the program diagramed in 
figure I (each block is a module of 
code). If the program is considered as 
a monolithic whole, you will have to 
test the 30 (3 x 2 x 5) separate paths 
the program can go through to debug 
it properly. If you debug the modules 
separately, you must test 1 1 things- 
each of the 10 modules plus the con- 
taining program that glues them to- 
gether. 

• Program for clarity and optimize 
later. Write your code to be readable, 
not clever— the performance gain 



from terse code is usually not worth 
the extra programming time that the 
code will consume over the life of the 
program. If you must optimize the pro- 
gram, get it working first, then ex- 
amine it to determine where optimiza- 
tion will be the most effective. 

• Avoid— or at least isolate and docu- 
ment—system-dependent code. This 
is more important if you are writing 
programs at work (where you may 
switch computers someday), but it 
never hurts to call attention to pro- 
gram behavior that is not determined 
solely by the code itself. 

• Document your program well, using 
both program comments and printed 
documentation. 

Debugging Theory 

Too many of us go about debugging 
haphazardly and so spend more time 
at it than we need to. To be effective, 
debugging must be led by the "per- 
ceptive, disciplined mind" mentioned 

[continued) 
Gregg Williams is a senior technical editor at 
BYTE whose programming credentials include 
an M.S. in computer science and several years 
programming COBOL, BASIC, and APL. 
He can be reached at POB 372, Hancock. 
NH 03449. 



JUNE 1985 -BYTE 279 



DEBUGGING 



above. But what discipline do we 
follow? 

My experience leads me to say that 
debugging is best driven by a com- 
bination of the scientific method and 



f BEGIN J 


m i i 


T T 


i i i i 


GD 



Figure I : A modular program diagram. 
To test the program as a whole, you 
would have to test 30 (3 x 2 x 5) 
different paths. 



hunch playing. The scientific method, 
which is the cornerstone of all scien- 
tific discovery, can be modified for 
debugging and described as follows: 

1 . Describe the error. 

2. Gather data about the program's 
behavior. 

3. Guess what caused the error (con- 
sistent with all the data gathered so 
far) and take steps to fix it. 

4. r fest your guess. (Does the program 
now work?) 

5. If your guess does not fix the error, 
go to step 2; otherwise, you have just 
found and fixed the error. 

Actually, confirming the error and fix- 
ing it may be two separate operations. 
You may confirm that a certain vari- 
able is causing the error by verifying 
that the variable contains an incorrect 
value at a certain point; in this case, 
fixing the error is a separate step. 

In the scientific method, you are try- 
ing to find a hypothesis that fits all the 
facts. In debugging, your hypothesis 
is "x is causing this error," and you test 
this hypothesis by correcting x. If the 
error disappears, your hypothesis is 
correct and you have found and cor- 
rected the error. If it does not (and this 
is very important), you now have an- 
other piece of data— that is, "x does 
not cause this error"— and your next 



Table I: An entry from my debugging log. Such entries may, in the future, 
help you debug later programs. 

Environment: While debugging a Microsoft (binary version) BASIC 2.0 program on 
a 128K-byte Macintosh computer, I keep getting a "Type Mismatch" error on the 
execution of the SUB (subprogram) "get.field(new.item$,1)" (get.field is defined as 
"SUB get.field(msg.string$,button. pressed) STATIC"); new.item$ can have any value 
(it goes in as a blank string), and 1 is a valid value for the second parameter 
(which can be either 1 or 2). 

Debugging: I get the same error with any other value in the second place (2, 3, 
etc.). The program works fine when I assign the value to a variable and use a 
variable in the call, but I check the variable and determine that its value hasn't 
somehow changed. The program also works if I use "3/3" but not if I use "1 + 0". 
Why? 

Cause: It turns out that "1" is of type "integer" and "button. pressed" is of type 
"single-precision real" in this version of BASIC. This caused the type mismatch 
when I used the constant but not when I used the variable. I suspect that "3/3" 
evaluates as a single-precision constant but that "1 + 0" remains an integer result. 

Solution(s): (1) Pass values only through variables. (2) Change the dummy variable 
to an integer using DEFINT or by appending "°/o" to it (i.e., "button. pressed°/o"). 
(3) Change the constant to a single-precision real by typing it as "1.0" or "13", 

In the future: Be aware of variable types in Mac MBASIC 2.0. 



hypothesis must be consistent with 
this added data. 

Assumptions in Debugging 

An error (also called a bug) can come 
from several sources. It may be 
caused by errors in the syntax of the 
program, er ors of logic that cause the 
computer to malfunction, errors of 
logic that cause the computer to give 
plausible but incorrect answers, and 
errors generated outside the program 
(by the software or hardware used). 
Because of this, you must be careful 
not to eliminate any area that might 
contain the source of the error. On the 
other hand, computer hardware is not 
at fault 99.9 percent of the time, and 
system software (the operating sys- 
tem, language, and utilities) is not at 
fault 99 percent of the time. I have 
summarized these realities in the 
following three assumptions: 

1. The computer is never at fault. 

2. The system software is almost never 
at fault. 

3. Everything except this rule is 
suspect (even assumptions I and 2, 
but at different levels of probability). 

In other words, never rule out hard- 
ware or system software errors, but 
pursue these hypotheses only after 
extensive testing has failed to find all 
the more probable causes of error. 

Debugging Practice 

Here are some collected notes on 
debugging: 

• Keep an interactive, written record 
of your debugging. The form is irrele- 
vant, but it should include a statement 
of the error being sought; hypotheses, 
their tests, and the results: un- 
answered questions; and whatever 
else comes to mind, fl&ble I shows 
an entry from my debugging log.) 

• Equally important, always save a 
copy of your p ogram before you add 
the latest "fix." If the fix makes things 
worse, don't try to undo the damage. 
Instead, revert to the previous version. 
You might also profit from keeping 
versions of the program at different 
stages of debugging. 

• When you are reading a printed 



280 BYTE • IUNE 1985 



DEBUGGING 



listing, make sure it is current. To be 
safe, print a new listing periodically. 

• Tfest multiple variations of the pro- 
gram, each of which changes one thing 
about it, and analyze the results care- 
fully. The effects can then be attrib- 
uted to the change itself. This may 
give you a clue to the nature of the 
error you are trying to correct. 

• Learn from negative results— even 
tests that don't seem to tell you any- 
thing actually do. 

• Don't ignore the possibility of 
rewriting the code rather than debug- 
ging it; this is especially valid when 
enough previous errors have been 
patched that the program is more 
patches than code. If the code is in 
bad enough shape, you may be able 
to rewrite it faster than you can debug 
it, and the resulting code will be 
easier to read and maintain. 

• Be aware of the particular problems 
of the language being used (for exam- 
ple, inadvertently duplicated variable 
names in BASIC, misuse of pointers 
in C, the peculiar behavior of a 
register, flag, or instruction in assem- 
bly language). 

• Watch out for often-confused sym- 
bols (the letters capital I, capital O, 
lowercase I, the numerals and I) and 
missing spaces and carriage returns. 

• Develop literal (for reading code) 
and speculative (for hypothesizing 
causes) modes of thought and learn 
how to strengthen each and switch 
between the two. 

Debugging Techniques 

I have divided these techniques into 
three broad categories: techniques 
for eliminating visible errors, finding 
hidden errors and verifying program 
correctness, and anticipating future 
errors. The sections that follow 
describe techniques that fall into 
these categories. The three categories 
begin with the headings "Indirect 
Methods," "Testing vs. Debugging," 
and "Preventive Debugging," respec- 
tively. 

Indirect Methods 

Many program errors are quite 
visible— you know something's wrong 
because you can see it— but their 



causes are not. One way to find the 
cause of an error is to play computer: 
in other words, with program listing 
and scratch paper in hand, you ex- 
ecute the program manually, keeping 
track of variable values on paper. This 
method is time-consuming and 
tedious, but it often catches subtle 
errors. However, you must know ex- 
actly what each program statement 
does, and you must be very literal in 
simulating code execution; otherwise, 
you will keep making the mistake that 
is the cause of the bug. (A variant of 
playing computer is explaining the 
error to someone else. Even if the 
other person doesn't know much 
about computers and can't offer a 
solution, you often discover the fac- 
tor you've overlooked.) 

You can sometimes find an error 
when you look at the structured 
pseudocode, flowchart, or whatever 
similar documentation you have. 



Because this documentation is at a 
higher level than actual program code, 
it may be easier for you to see a 
logical error in the design of the 
program. 

Finally, browse through your debug- 
ging notebook for ideas; you may 
realize that your current problem is 
similar to an error you have already 
fixed. 

PRINT Statements 

PRINT statements are probably the 
most often used debugging tool, but 
they are not often used effectively. 
They can be used to gather data about 
the program's behavior (i.e., "Is this 
variable doing anything unusual?"), to 
test a hypothesis ("Is this variable giv- 
ing the incorrect value x?"), or to con- 
firm the correct operation of the pro- 
gram ("Is this variable now giving the 
correct value y?'). 

[continued) 



\ 



protects disks 
in sleeves of 
^ TYVEK. 



Here's why. 




Quality disks deserve a quality sleeve. 
Sleeves of TYVEK S: spunbonded olefin 
provide unsurpassed data protection 
because 

1. TYVEK is strong— won't tear like paper. 

2. TYVEK does not lint. 

3. TYVEK is smooth, non-abrasive. 

4. TYVEK is chemically clean, has a 
neutral pH. 

5. TYVEK reduces static problems. 

6. TYVEK is unaffected by water. 

Take the first step to maximum disk data 
protection. Call 800-44 TYVEK for the 
names of manufacturers who rely on 
sleeves of TYVEK. 



♦TYVEK is DuPont's trademark for 
spunbonded olefin. DuPont makes 
TYVEK, not sleeves. 



WQ& 



Inquiry 153 



JUNE 1985 'BYTE 281 





THE JUKI 630 
UY PRINT tiftfE.* 
TTERS IN 8 HOURS? 




Busy offices, take note: Our new letter-quality printer 
zips along at 40 characters per second and sells for only 
$995. Its 13" print line will handle your spreadsheets 
and every imaginable kind of correspondence — 
plus graphics! Quiet, too — less than 60 dbA. 
And the 3K buffer memory (expandable to 15K) 
lets you use your computer for other purposes 
while the JUKI is printing. Compatible with . 
most computers. (You can even get an optional 
tractor feed and cut-sheet feeder for it!) Now 
you know why JUKI printers are humming in 

offices all over the world! 






**L 



T 



JUKI 

The worker. 

JUKI OFFICE MACHINE CORP. 






/''"*"-. :*■ " "™' 1 '™:. J: !! 



^^^^-£"*£?^^^^^^ 



EAST COAST: 

299 Market St., Saddle Brook, NJ 07662 
(800) 932-0590 

WEST COAST: 

23844 Hawthorne Blvd., Suite 101, Torrance, CA 90505 
(800) 325-6134 • (800) 435-6315 (California) 



282 BYTE • JUNE 1985 



Inquiry 233 



DEBUGGING 



PRINT statements are most valu- 
able when they are used effectively. 
Three factors are critical: what you are 
using the PRINT statement for, what 
variables are being examined, and where 
they are being examined. If you mis- 
judge either of the last two factors, 
you will be gathering data that wastes 
your time and gives you no insight in- 
to your situation. 

PRINT statements can be either un- 
conditional, like this: 

6808 PRINT "At 6808, X = ";X; 
" A$=";A$ 

or conditional: 

6808 IF A$ = "" THEN PRINT 
"At 6808, A$ empty, X = ";X 

The unconditional PRINT statement 
is the simplest to insert into a pro- 
gram, but it may cause a distracting 
number of relatively useless diag- 
nostic statements— if , for example, line 
6808 is in the middle of a triple- 
nested DO loop. The conditional 
PRINT statement is more useful 
because it displays itself only when 
some significant condition occurs (in 
the second example above, the pro- 
grammer knows that A$ is of interest 
only if it is empty). 

Also remember that PRINT state- 
ments (and the print-oriented debug- 
ging techniques mentioned below) 
can go to at least three devices: 
screen, printer, or disk file. Video out- 
put gives you an interactive display of 
the relationship between cause (the 
printed variable's value) and effect 
(the effect on the program), but it may 
destroy the normal output to the 
screen. Printed output gives you a 
printed record that can be studied 
later along with the program code. 
Disk output is useful when you must 
generate a lot of PRINT statements; 
it is faster than printed output and can 
be searched and examined quickly 
using a word processor. It is your 
responsibility to choose the tech- 
nique best suited to a given situation. 

You will sometimes have a visible 
error and no idea of its cause. You can 
then use PRINT statements in a 
"divide and conquer" scheme. To do 
this, find a point in the program where 



things are okay and another one 
where they are not. Then repeatedly 
place a PRINT statement between the 
two and decide which half contains 
the error. Eventually, you will have 
isolated the error to a small enough 
area that the number of possible 
causes is also small. (Here, you are 
advised to consider— and apply— 
Sherlock Holmes's famous statement, 
"When you have eliminated the im- 
possible, whatever remains, however im- 
probable, must be the truth.") 

Breakpoints 

If you are able to stop your program, 
examine and change the values of 
variables, and resume execution at 
the point you stopped the program, 
you have breakpoint capability. You can 
do this in assembly language if you 
run your program along with some 
kind of debugger/monitor program. In 
most Microsoft BASICS, you can stop 



a program with a Control-C from the 
keyboard or a STOP from the pro- 
gram, then examine and even change 
variable values and resume by ex- 
ecuting the CONT (continue) state- 
ment. In many cases, you will want to 
print out the values of some variables 
before you stop the program. 

Breakpoints let you debug your pro- 
gram interactively. They have most of 
the characteristics of PRINT state- 
ments: They can be executed condi- 
tionally or unconditionally; they can 
be used to gather data for your next 
debugging guess, to confirm a guess, 
and to pinpoint the location of an 
error; and their effectiveness depends 
on the forethought used in planning 
the breakpoint and evaluating its 
results. Many programmers use break- 
points as a mechanism through which 
to do an open-ended exploration of 
the program in the hope that they will 

[continued) 





IS Dysan* 

—X K. 



DYSAN 
protects disks 
in sleeves of 
\ TYYEK. 

Here's why. 

Quality disks deserve a quality sleeve. 
Sleeves of TYVEK* spunbonded olefin 
provide unsurpassed data protection 
because 

1. TYVEK is strong— won't tear like paper. 

2. TYVEK does not lint. 

3. TYVEK is smooth, non-abrasive. 

4. TYVEK is chemically clean, has a 
neutral pH. 

5. TYVEK reduces static problems. 

6. TYVEK is unaffected by water. 
Take the first step to maximum disk data 
protection. Call 800-44 TYVEK for the 
names of manufacturers who rely on 
sleeves of TYVEK. 

*TYVEK is DuPont's trademark for 
spunbonded olefin. DuPont makes 
TYVEK, not sleeves. 

Dysan is a registered trademark of 
Dysan Corporation 




Inquiry 154 



JUNE 1985 -BYTE 283 



Uplifting news. 

Now we've got application 
software to support our 
data acquisition hardware 

forthelBMPC 

Hold up a minute! 

Now you can get all your analog I/O application software at the same 
place you get your IBM PC compatible hardware. Data Translation" 

We've got four application software packages that cover a broad range 
of capabilities, all compatible with the DT2801 series of seven analog 
I/O boards. So you'll never have to write a line of code again. 
Take a look at these: 

DT/NOTEBOOK 

For the non-programmer. An easy- 
to-use menu-driven package for 
real-time data acquisition, process 
control, and data analysis that automatically 
interfaces to spreadsheet packages. Its menu- 
driven interface is ideal for users who aren't very 
familiar with computers. 

ASYST 

For the advanced user. A command-driven package for 
real-time data acquisition and control, advanced data 
analysis, and graphics display. For the user who requires 
more sophisticated graphics and analysis capabilities. 

CHROMLAB 

For the chromatography scientist. A menu-driven, scien- 
tific software package for chromatography and spectros- 
copy applications. For users who need to do real-time 
data collection/display, peak detection/integration, and 
report generation. 




Graph Using Curve-Fit 



Analysis Functions with 
Multiple Window Display 



ll I L 



U'i 



b.n in t.n i.n t.ti i.si 

Peak Detection and 
Integration 




3-D Spectral Display 



DT/ILS-PC1 

For the signal processing scientist. Command-driven soft- 
ware for digital signal processing that supports data 
acquisition, waveform manipulation, design and use of 
digital filters, and spectral analysis. For users who need 
advanced analysis tools in both time and frequency 

domains. 

* * * 

Call us today. We'll help you choose the right package 
to give your data acquisition the boost it needs. 




FredMolinari, 
President 

Call for our new 
576 pg. catalog/ 
handbook or see it 
in Gold Book 1985. 



Call (617) 481-3700 



DATATRANSLATION 



World Headquarters: Data Translation. Inc., 100 Locke Dr., Marlboro, MA 01752 (617) 481-3700 Tix 951 646. 

European Headquarters: Data Translation, Ltd., 13 The BusinessCentre, Molly Millars Lane, Wokingham Berks, RG112Q2, England Tlx: 851849862 (#D) 

International Sales Offices: Australia (61) 663-5289; Belgium (32) 2-7352135; Canada (416) 625-1907; Chile (56) 2-253689; China (408) 727-8222; Denmark (45) 2451822; England 

0734-793838; Finland 358-0-372-144; France(33) 6306839; Greece (30) 031-527039, (30) 01-3614-300; HongKong(852) 3-312607; India 231880; Israel (972) 3-324198; Italy 

(39) 2349751; Japan (81) 343-7571, (81) 348-8301, (81) 335-5111; Korea (82) 753-3101; Netherlands (31) 70996360; Norway(02) 567140; Portugal (351) 19545313; South Africa 

(27) 12118161782; Singapore (65) 2729412; Spain (34) 1 2502577; Sweden (46) 8289425; Switzerland (41) 17231410; Taiwan (86) 721-7864, (86) 531-2434; West Germany 

(49)89806061. 

DT/NOTEBOOK © 1984, Laboratory Technology Corp. ASYST © 1984 MacMillan Software Co. CHROMLAB © 1984, University of Southern California. 
DT/I LS-PC 1 © 1984, Signal Technology Inc. IBM is a registered trademark of IBM Corp. Data Translation is a registered trademark of Data Translation, Inc. 



284 BYTE • JUNE 1985 



Inquiry 129 



DEBUGGING 



stumble over some clue. This is usual- 
ly unproductive and should be at- 
tempted only when you are at a com- 
plete loss as to what to do next. 

Through breakpoints, you usually 
have access to the state of the 
machine— that is. all the data needed 
to completely recreate the computer's 
configuration at a given moment- 
even though you may not make use 
of it. Because of this, a breakpoint is 
a measure halfway between a PRINT 
statement and a snapshot, discussed 
below. Breakpoints and snapshots dif- 
fer in two ways: Breakpoints are not 
always available, and snapshots are 
harder to use but more thorough. 

Snapshots 

A snapshot is a printed record of the 
state of the machine. Because a snap- 
shot completely describes the program 
at the point it is taken, it is the final 
authority on what's "inside" the pro- 
gram at that instant. This is both good 
and bad— good because you have all 
the information you could possibly 
need, bad because you may not spot 
the data you need in the sea of data 
you have. A snapshot is also printed 
documentation of the program's state 
at a given point; because it can be 
referred to later, it may save you from 
having to recreate the situation. (In 
the darker moments of debugging, 
when your current results seem to 
contradict your memory of past 
results, a snapshot is often welcome 
verification that you are not going 
crazy.) 

Snapshots are usually not used in- 
teractively (but they can be if you 
wanttowaitforthe.printout). They are 
usually used with a fresh listing of the 
program to hunt for clues about the 
cause of the error. Because snapshots 
are very long, they are also inconve- 
nient to set up and take a long time 
to print out (in some cases, you might 
consider writing them to disk). For all 
these reasons, snapshots are usually 
used as a last resort. 

For a high-level language snapshot, 
make a list of all the system and pro- 
gram variables (a cross-referencing 
program will help in this); then write 
a subroutine that prints these (prefer- 



ably in alphabetic order). To use the 
snapshot, add a line to your program 
that prints some reference to itself 
and calls the snapshot subroutine— 
for example, in BASIC: 

3305 PRINT "Snapshot at end of 
input routine":GOSUB 9950 

When debugging assembly-lan- 
guage programs, capture the contents 
of all memory and record the address 
of the snapshot and the values of the 
processor's flags and registers. If you 
can, store the contents of memory as 
a formatted dump that shows bytes 
as both hexadecimal numbers and 
ASCII (American Standard Code for 
Information Interchange) characters. 
You can make your snapshot shorter 
by not capturing certain areas (those 
containing video-display memory or 
system ROMs— read-only memories), 
but always keep in mind that you have 
left something out— occasionally, it 



may be what you need to find the 
error! 

Testing vs. Debugging 

Before I can talk about finding hidden 
errors and verifying program correct- 
ness, I need to point out the dif- 
ference between debugging and test- 
ing. Debugging is the process of correct- 
ing all the errors you find in a pro- 
gram; it ends when you can find no 
more bugs. Testing is a more deliberate, 
methodical process that attempts to 
prove that a program's behavior is 
correct in all cases; it ends after you 
have devised tests that reasonably 
justify the claim, applied them (with 
positive results), and documented 
your methods and results for current 
and future critics. 

FORCING AND CHECKING 

So you've found and corrected all the 

[continued] 




3M 

protects disks 

in sleeves of 

TYVEK. 

Here's why. 

Quality disks deserve a quality sleeve. 
Sleeves of TYVEK* spunbonded olefin 
provide unsurpassed data protection 
because 

1. TYVEK is strong— won't tear like paper. 

2. TYVEK does not lint. 

3. TYVEK is smooth, non-abrasive. 

4. TYVEK is chemically clean, has a 
neutral pH. 

5. TYVEK reduces static problems. 

6. TYVEK is unaffected by water. 
Take the first step to maximum disk data 
protection. Call 800-44 TYVEK for the 
names of manufacturers who rely on 
sleeves of TYVEK. 

*TYVEK is DuPont's trademark for ^^~ T\r\C %**^ 

spunbonded olefin. DuPont makes /t\\\ \\\\Wr\ 
TYVEK, not sleeves vULI rUllJX 



Inquiry 155 



JUNE 1985 -BYTE 285 



HOW TO BUY SOFTWARE 

WHEN ALL THE ADS 

LOOK THE SAME. 



We know it's hard to choose 
a software house. All 
the ads say the same 
thing— "Lowest prices" "fastest 
delivery" "best support," "biggest 
inventory" 

Trouble is, although the 
claims are the same, the com- 
panies are very different. Which 
is why we want you to know 
some important facts about us: 



1. 



800-SOFTWARE is one of 
the oldest and most repu- 
table firms in the industry. Our 
customers include Coca-Cola, 
GE, Hewlett-Packard, Xerox, 
AT&T, and thousands of other 
satisfied buyers. 



2 Our National Accounts Pro- 
• gram offers volume dis- 
counts and valuable services to 
large software users. We offer 
incredibly low prices on large 
bids! 

3 We have a giant, $1,000,000 
• inventory. Which means we 
can offer next-day delivery if 
needed. 

4 With every product you get 
• friendly, expert technical 
support. Have a question? 
You'll be glad you bought from 
800-SOFTWARE! 

5 We'll match our com- 
• petitors' prices on most 
products. We never cut service. 



6 We never charge extra for 
• credit card purchases, nor 
do we process for payment until 
the product is shipped. (Our com- 
petitors don't make this claim!) 

7 You'll automatically receive 
• our Technical Support 
Newsletter —a great way to stay 
up-to-date. 

8 We are members of the 
• Better Business Bureau 
and the Direct Marketing 
Association. 

9 We want your business. 
• And your repeat business. 
Which is why we work so hard to 
keep you happy. Give us a call and 
let us prove it! 



CHECK OUT ALL OUR INCREDIBLE PRICES: 


Wordstar 2000/2000 Plus 
CALL 


PFS Fil«/GraDh/Writ« 


Okidata 92/93 
$389/$629 


Epson Printers 
CALL 


RBase4000 
$259 


SuporColc 2/3 
CALL 


Horculos Color/Graphic Card 
$199/$32$ 


IUS Accounting 
$299/mod. 


SOFTWARE 

BORLAND SOFTWARE" 

Sidekick CALL 

Turbo Pascal/8087 $39/$79 

B0URBAKI" $ 79 

0ECISI0N RESOURCES® 

Chartmastor $249 

Signmaster $189 

DIGITAL RESEARCH" CALL 

F0X&GELLER" CALL 

FUNK SOFTWARE" Sideways $ 49 

HARVARD SOFTWARE " 

Harvard Project Manager $289 

IMS!'" PC Paintbrush $ 99 

LIFEBOAT LATTICE C COMPILER- $359 

LIFETREE'" Volkswriter Deluxe $179 

MICROPRO® 

WordStar $209 

WordStar 2000/2000 Plus CALL 

WordStar Pro Package/P.P. Plus $259/$359 

InfoStar CALL 

All Other Products CALL 


MICRORIM ,M RBase4000 $259 

MICROSOFT® 
Multiplan $125 
Fortran $269 
All Other Products CALL 

MICROSTUF" Crosstalk $ 95 

MULTIMATE'" $255 

ROSESOFT-ProKey $ 99 

SOFTWARE PUBLISHERS" 
PFS File/Graph/Write $ 84 
PFS Report $ 75 

SORCIMHUS" 
SuperCalc 2/3 $159/$ 195 
EasyWriter II System $185 
IUS Easy Business Accounting $299/mod. 
Super Project $209 
All Other Products CALL 


HARDWARE, ETC 

AM0EK'" Monitors CALL 
AST™ Products CALL 
ATI" &C0EX" TRAINING CALL 
CODE A PHONE Tel A Modem $479 
EPSON™ PRINTERS 

FX 80.FX100&LQ1500 CALL 
HAYES" 

Smartmodems1200/1200B CALL 
HERCULES" 

Color Card $199 

Graphic Card $325 
MAXELL" &MEM0REX" DISKETTES CALL 
MEMORY CHIPS CALL 
OKIDATA" PRINTERS 

92 IBM $389 

93 IBM $629 
PRINCETON GRAPHICS" MONITORS CALL 
QUADRAM" CALL 
WESTERN UNION EASY LINK® FREE 



WE ALSO CARRY HUNDREDS OF OTHER PRODUCTS FOR THE IBM-PC® 
AND COMPATIBLES, MACINTOSH®, APPLE II® AND CP/M®! 






800-SOFTWARE, INC. 
940 Dwight Way 
Berkeley, CA 94710 



Inquiry 3 

© Copyright 1985. 800-Sof tware, Inc. 



^800-SOFTWARE) 

To order call toll-free: 
800-227-4587 or 4is-644-36ii 



□ Dealer inquiries welcome. 

□ Quantity discounts available through our 
National Accounts Program. 

□ Purchase orders accepted. Please call us 
in advance. 

□ Call for shippingcharges.Overnightde- 
livery available. 

□ We do not add surcharge for credit card 
purchases. 

□ Prices may change. Above prices are for 
IBM-PC and compatibles . 

□ International orders welcome: 
TELEX #751743 800 SOFTWARE UD. 



DEBUGGING 



errors in your program— it's ready to 
go, right? Wrong. You've corrected all 
the visible errors; the program's been 
debugged, but it hasn't been tested. 
You can never be sure that a program 
is completely error-free, but you can 
test it to be reasonably certain that it 
works correctly. Forcing and checking with 
sample data are two methods used to 
find hidden bugs and verify program 
correctness. 
Forcing involves simplifying the pro- 



gram so that the relationship between 
input and output is known or is easily 
calculated; then you can exercise the 
program with test data- and compare 
the predicted output with the actual 
output. In some cases, you can enter 
a set of data that is considerably 
simpler than other sets might be (for 
example, in a statistical-analysis pack- 
age, you might enter 3 data items in- 
stead of 10 or 100). In other cases, 
you may need to change the program 



so that, at some point, it uses con- 
stant values instead of calculated 
values in some places. 

This second method is the type of 
forcing you'll use most often (this is 
a variation of the change-only-one- 
thing technique discussed above). By 
setting certain variables to constant 
values, you can observe the behavior 
of the program as it is influenced by 
the remaining variables. If you spot an 

[continued) 



A PROTOTYPE FOR YOUR PROTOTYPES 




METHODS BY DIGITALK. A SMALLTALK PROGRAM DEVELOPMENT ENVIRONMENT FOR 
THE IBM PC. AN OBJECT-ORIENTED SPEED DEMON. AN EXCITING WAY TO PROGRAM. 



Think about your problem. Browse the Methods 
Smalltalk source code. Select some building 
blocks like pop-up menus, windows, text-editors 
and dictionaries. Put them together. Try it. 
Oops, Methods tells you something is missing. 
No problem. Continue thinking, changing and 
trying. Now you're prototyping! Try out new 
ideas. Redefine your problem. And you don't 
have to throw this prototype away. Refine it 
until you like the finished product. 

Methods by Digitalk. A new way to develop 
software for the PC. Use it for windowing, 
simulation and artificial intelligence applications. 
Use it by prototyping. 

Methods is Smalltalk-8(T language compatible. 
It includes its own Smalltalk source code. You 
can extend it in Smalltalk and assembly 
language. 

Methods operates on IBM PCs with 512K bytes 
RAM using MS-DOS or PC-DOS. Color and 
monochrome monitors are supported. No mouse 
is required. A Smalltalk language manual and 
an environment guide are included. 

Smalltalk-8cr is a trademark of Xerox Corporation. IBM is a registered trademark of 
International Business Machines Corporation. MS is a trademark of Microsoft Corporatic 




Available from Digitalk for $250. Outside U.S. add $1 5.00 for 
shipping and handling. California residents add 6% sales tax. 
Visa and MasterCard accepted. Educational and Dealer 
Discounts Available. 

DIGITALK, INC. 

5200 West Century Boulevard 
Los Angeles, California 90045 
(213)645-1082 



Inquiry I43 



JUNE 1985 -BYTE 287 



DEBUGGING 



error in this way, you can use this 
observed relationship to infer which 
variables are causing the error. Once 
you have found them, force the other 
relevant variables to known values; 
then you should be able to find the 
error by studying the actual behavior 
of the system compared to its ex- 
pected behavior. 



Another use of this method is to 
force execution of a given section of 
a program. When a program has few 
enough alternate paths in it that you 
can afford to test each one manually, 
you can use forcing to ensure that you 
are in fact testing each section of 
code. 

Forcing is a special case of checking 



Recommended Books 



Much has been written about the 
theory and practice of design, 
coding, and debugging. Here is a 
selected list of especially useful books 
that I have on my bookshelf. Some are 
handy references, others challenge the 
very foundation of your beliefs on how 
one should write a program. 

Bruce, Robert C. Software Debugging for 
Microcomputers. Reston, VA: Reston 
Publishing Company. 1980. A good 
catalog of debugging techniques. 

DeMarco, Tom. Structured Analysis and 
System Specification. Englewood Cliffs, 
NJ: Prentice-Hall, 1979. A very good 
book on the design of large systems; 
it contains extended information on 
the use of the data-flow diagrams 
(DFDs) and data dictionaries. 

Ledgard, Henry F. Programming Proverbs. 
Rochelle Park, NJ: Hayden Book Com- 
pany, 197 5. A book of good 
common-sense advice on program- 
ming. 

Ledin, George Jr.. and Victor Ledin. The 
Programmer's Book of Rules. Belmont, 
CA: Lifetime Learning Publications, 
1975. A book of hierarchically 
ordered rules that remind you of your 
alternatives at various stages of the 
design/code/debug cycle. 

Meek. Brian, and Patricia Heath, eds. 
Guide to Good Programming Practice. New 
York: Halsted Press (division of John 
Wiley and Sons). 1980. A good col- 
lection of essays on various topics; 
the essays do not fit into an or- 
ganized whole, but each has good in- 
formation in it. 

Page-Jones, Meilir. The Practical Guide to 
Structured Systems Design. New York: 
Yourdon Press, 1980. A detailed but 
pragmatic book on the proper de- 
composition of large systems into 
modular subtasks; it has good sec- 



tions on data-flow diagrams and the 
factors that influence the effec- 
tiveness of a modular system or 
program. 

Peters, Lawrence J. Software Design: 
Methods and Techniques. New York: Your- 
don Press, 1981. An invaluable survey 
book that describes dozens of design 
methodologies, techniques, and 
notations— excellent for browsing to 
find the method that makes the most 
sense to you. 

Smith, TYuck. Secrets of Software Debugging. 
Blue Ridge Summit, PA: Ikb Books. 
1984. A well-written book that digs 
deeply into the psychology of debug- 
ging and illustrates its points with 
three chapter-long microcomputer 
examples; this is my favorite book on 
debugging. 

Ward, Paul T. Systems Development With- 
out Pain. New York: Yourdon Press, 
1984. Describes a new design tech- 
nique that emphasizes good com- 
munication between the designers 
and the users; the method modifies 
and simplifies the concept of struc- 
tured analysis. 

Yourdon, Edward Nash, ed. Classics in 
Software Engineering. New York: Your- 
don Press, 1979. Contains reprints of 
and commentary about all the pivotal 
papers on structured programming 
and structured analysis, the debate 
among Dijkstra, Knuth, and others 
about GOTO statements, and many 
essays on structured programming. 

Yourdon, Edward, and Larry L. Con- 
stantine. Structured Design. Englewood 
Cliffs, NJ: Prentice-Hall. 1979. This is 
the first major book on structured 
analysis; it uses data-flow diagrams 
but puts heavy emphasis on structure 
charts. It also contains several 
theoretical chapters that debate how 
best to modularize a program. 



with sample data, a method that is used 
to rigorously verify the correctness of 
a program. The design and selection 
of test data heavily influences the 
validity of the testing process, so it 
should be done with great care. 

A meaningful discussion of this sub- 
ject is beyond the scope of this arti- 
cle, but I mention it to point out that 
the use of sample data is an impor- 
tant tool for even the most casual pro- 
grammer. When you are working with 
a program that deals with a range of 
data, take the time to run the program 
with input data that is just inside, on, 
and just outside the range -of valid 
data. For example, if your program 
computes the average of between I 
and 20 numbers, try it with 0, I, 2, 19, 
20, and 21 numbers. In general, you 
will be surprised at the number of 
times that your program fails to act 
correctly. 

Preventive Debugging 

TWo debugging techniques fall into 
the category of preventive debugging— 
that is, practices that will alert the 
future user to the occurrence of an 
error. The first is the simple technique 
of using "sleeping" debugging instruc- 
tions, while the second is a little- 
known technique called firewalling. 
Both techniques are available to peo- 
ple who are coding the program they 
will later maintain, though they can 
sometimes be added to existing pro- 
grams. They are most useful in a pro- 
gram where error detection and quick 
diagnosis and correction are 
important. 

Sleeping debugging instructions are con- 
ditional diagnostic routines that ex- 
ecute only if a predefined abnormal 
condition wakes them up. These can 
be as simple as a PRINT statement 
that notifies the user that an error has 
occurred or as complicated as a sub- 
routine that analyzes the state of the 
program and writes a file of useful 
debugging information to the disk. 

The best time to add such instruc- 
tions into a program is when you are 
writing (and, later, debugging) it, while 
you have the greatest insight into how 
the program works. Ask yourself ques- 

[continued) 



288 B YTE • JUNE 1985 



INTRODUCING THE MERLM ELECTRONIC LETTERING SYSTEM. 
IT BEATS THE HELVETICA OUT OF KROT 




At any price, the new Merlin electronic lettering system from Varitronics™ 
is a major achievement. 

At a suggested retail price of only $1,795, it's a minor miracle. 
That's less than half the cost of its nearest competitor, the 
Kroy 80K Editor,™ so you can save even more than you spend. But 
superior technology means more than a lower cost. In this case it 
means a much better system. 

You'll find the Merlin to be significantly faster than any 
electronic lettering machine on the market, and more than five 
times faster than the old ''spin-and-print'' machines. 
Loading and unloading the Merlin's sup- 
plies is clean and easy The carbon ribbon simply 
snaps into place like film in an instant camera. 
And your hands never touch the actual ribbon. 
You can interchange the color 
carbon at any time in the middle of a job 
to highlight a word or phrase. 

And every lettering disc is the size of 
a 45 RPM record for easy storage, each one 
holding 101 upper and lower case letters and 
symbols, in a variety of styles and sizes ranging 
from 8 to 36 point. 

Yet we managed to fit all these features, plus 
many more, in a package that weighs just 23 
pounds and takes up considerably less desktop space 
than a comparable Kroy® machine. 

Discover a world of ways the Merlin can work 
its magic to improve the look and effectiveness of your 
communications. Just call 1-800 -MERLIN-1 (in 
Minnesota, call 1-800-742-5685, ext. 99). Orsendin 
the coupon for more information, a sample of Merlin 
lettering and the name of a dealer in your area who's 

offering a substantial trade-in allowance on 

your present lettering system. 

Suggested retail prices as of 2/1/85. 
©Varitronic Systems, Inc., 1985 
Kroy and Kroy 80K Editor are trademarks of Kroy Inc. 
Varitronics and Merlin are trademarks of Varitronic 
Systems, Inc. 



5 TIMES FASTER THAN 



Due to its advanced technology, 
the Merlin is able lo print more 
than five times faster than the old 
' 'spin-and-print ' ' machines. 



$1795 



The Merlin istlje result of superior design. 
Yet we're offering it at less than half the price of 
Ik Kroy 80K Editor. 



At 23 pounds, ****" 

the Merlin is both light- 
might and compact, and less than 
half the might and size oft he Kroy 80K Editor. 



Inquiry 413 




Name/Title. 
lelephone L 

Company 

Address 

Citv 



Varitronic Systems, Inc. 
Response Center, Dept. 023705 
701 Decatur Ave. N„ Suite 205 

Minneapolis, MN 55427 

1-800-MERLIN 1 

(IN MINNESOTA, 1-800-742-5685, EXT. 99) 

Q Please send me more information about 
Merlin and a free sample of Merlin lettering. 

□ I'd like a hands-on demonstration of Merlin. 



_ State. 



_Zip_ 




MERLIN 

BY VARITRONICS 



\ 




One Board... 
One Family 



At the heart of every Stride 400 Series micro- 
computer, from the floppy-based 420 to the 
448M byte 460. is an identical CPU board. This 
guarantees compatibility throughout the 
entire product family. And it means, our CPU 
board was designed with standard features 
that are either options or simply unavail- 
able on other microcomputers: 



□ 68000 microprocessor 
(10 MHz with no wait states) 

□ VMEbus 
D256K bytes RAM 

□ 5 V 640Kbyte floppy 
> □ Battery-backed real time clock 

□ 4K CMOS RAM 

□ Four RS-232C serial ports 
(Stride multiuser BIOS) 

□ Centronics bi-directional parallel port 
□ Omninet Local Area Network (Liaison LAN software) 

With this basic design, Stride is able to explore the full range of 68000 appli- 
cations from an advanced multiuser; multi tasking BIOS to built-in local area 
networking. No other microcomputer offers the flexibility to run over a dozen 
different operating systems and more than 30 languages/compilers. 

The basic design is backed by a rich option list: 

□ 12 MHz 68000 processor □ VMEbus (Eurocard) cage □ Low cost, high 
speed graphics □ NOD™cursor control □ 12M bytes of RAM □ 448M bytes 
of hard disk storage □ 22 serial ports □ Floating point processor (NS 16081) 

□ Cartridge streaming tape backup □ Memory Management Unit 



CBASIC COBOL 

Modula-2 

Pascal FORTRAN 

rm/cosUSD 

UNIXSystemV 

p-System 



All this, and still the best price/ 

performance ratios in 
the industry: from 
$2900 to over 
$60,000. But it 
begins with 
the powerful Stride 
CPU board, a standard 
feature of every 400 series system. 
It's what we call " Performance By Design" 





Formerly Sage Computer 

For more information on Stride or 
the location of the nearest Stride 
Dealer call or write us today. We'll 
also send you a free copy of our 
32 page product catalog. 
Corporate Offices: 
4905 Energy Way 
Reno NV 89502 
(702)322-6868 
Regional Offices: 
Boston: (617) 229-6868 
Dallas: (214) 392-7070 



DEBUGGING 



tions like these: "What's the most 
damaging thing that could happen 
while this program is running? What 
can the program do to spot it? What 
ranges of data will always be invalid? 
What could the user do that the pro- 
gram will have to guard against or cor- 
rect?" . With careful planning and 
design, you can add sleeping debug- 
ging instructions that will alert you to 
program errors and help minimize 
their effect. 

FlREWALLING 

Firewalling is a preventive debugging 
technique available to highly modular 
programs. If you have designed your 
modular program correctly, each 
module is completely self-contained 
and interacts with other modules only 
through a known list of variables. A 
fire wall is a special kind of sleeping 
debugging instruction that checks the 
validity of data as it comes out of a 
module. The idea behind firewalling 
is to ensure that, even if an error oc- 
curs, it is not allowed to spread from 
its origin to other modules. This 
method is most useful in large sys- 
tems that pass data from one pro- 
gram to another, but you may find oc- 
casion to use it in smaller programs 
of your own. 

Conclusions 

As I said at the beginning of this arti- 
cle, there are no magic techniques— 
but there are tools, and the most 
powerful one is your own brain. De- 
bugging is part technique, part art, 
part luck, and the most difficult part 
of it is to be thinking hard when the 
situation calls for it. I hope 1 have 
presented some useful tools; if you 
have any other useful techniques, I 
would enjoy hearing from you. 

The temptation is to take it easy, to 
skip the hard parts, to keep rummag- 
ing through the program for more 
clues instead of thinking about the 
ones you already have— but all that is 
like the man who kept looking for his 
lost car keys under the streetlight 
because the light was better there. Al- 
though luck and intuition contribute 
in debugging, there is no substitute 
for thoughtful sustained analysis. ■ 



290 B YTE • JUNE 1985 



Inquiry 390 



". . . compatibility has been a cruel hoax 
used to mislead the public!' 



| This isoneofa seiies of design philosophy 
discussions with Rod Coleman. President of 
Stride Micro {formerly Sage Computer}.} 



RC: One of the biggest mis- 
takes being made today is that 
many in this industry underes- 
timate how much the public is 
willing to take. Today's micro- 
computer buyer is far more 
sophisticated than those who 
were buying systems just 24 
months ago. 

Q: How does that affect a 
manufacturer? 

RC: In our case, I think it means 



" . . I'm often amazed 

that our competitors 

continue to introduce 

products that don't 

really relate to their 

own machines 
above or below them!' 

that our designers and engineers 
have to be more honest. By 
that I mean that you can't simply 
rely on clever marketing tech- 
niques to overcome hardware 
shortcomings. 




Q: Give me an example. 

RC: The best one I can think 
of is the overused buzzword 
of 'compatibility." It has been 
a cruel hoax used to mislead 
the public. Indeed, dozens of 
these compatible machines 
are interchangeable with one 
another; but, in reality users don't 
trade one system for another 
of the same capacity. Instead, 
they're looking to upgrade, link 
or expand their capabilities. 
That's when the so-called com- 
patibility ends. One major man- 
ufacturer changes to a different 
CPU chip between entry-level 
and mid-range machines, and 
then changes again to move 
into a high capacity environment. 
Another competitor is only com- 
patible until you decide you 
want multiuser or local area net- 
working; at that point you've 
got to change operating systems 
and software. 

Q: How has Stride approached 
this problem? 

RC: From the start, we knew we 
had to select a microprocessor 
and basic system design that 
had enough power and flexibility 
to meet the needs on both ends 
of the spectrum. Without a capa- 
ble CPU. your system will never 
be state-of-the-art. Thus all 
machines in the Stride 400 Series 
were designed to accommodate 
the same 68000-based CPU 
board. This board provides for 
all the standard features such 
as VMEbus, multiuser, LAN, etc. 
Then, when a customer decides 
to move up, it's a simple matter 
of providing more RAM, storage, 
backup devices, etc. Since every 
system in the family has a com- 
mon CPU board, compatibility 
is guaranteed. The idea is so 
basic, that I'm often amazed that 
our competitors continue to 
introduce products that don't 
really relate to their own machines 
above or below them. 

Q: Do most customers buy 
Stride machines for that 
flexibility to expand? 



RC: Many do, but we are also 
getting a lot of response from 
those looking for a big system 
as the cornerstone to a growing 
network of smaller machines. 
This is where local area networks 
really shine, but the incompati- 
bility between the large hard disk 
machines and the smaller work- 
stations has prevented users from 
capitalizing on this technology. 
Again, since Stride's LAN is a stan- 
dard feature of all systems, and 
they share a common board, this 
is a natural application. 

Q: Is the 68000 microprocessor 
the key to that compatibility? 




RC: To a large extent, yes. 
Although it's been on the market 
for some years, we feel this 
processor still holds a significant 
advantage over other archi- 
tectures. When we evolved from 
Sage Computer to Stride Micro, 
we closely examined the state of 
the microprocessor market. We 
elected to remain with the 68000 
family because it was the only 
proven product that would han- 
dle everything from our floppy- 
based 420 machine up to the 
top-of-the-line Stride 460 with 



22 users, I2M bytes of RAM 
and 448M bytes of Winchester 
hard disk storage. An extra ben- 
efit of this is that we were able 
to boost the already-impressive 
performance of the Sages by 
increasing the clock speed from 
8MHz to the Stride's standard 
10MHz and optional 12 MHz 
without changing architectures. 
That would have been impos- 
sible with most other chips. 

Q: Do you see others following 
your lead? 

RC: Yes and no. The good signs 
are that more and more interest 
is being generated in portable 
languages and operating systems 
that work across a broad range 
of system capabilities. Yet, then 
1 see an announcement from a 
leading hardware supplier that 
their newest multiuser machine 
is only compatible with the 
smaller systems when it's in sin- 
gle user mode. Overall, I think 
Stride will remain unique for 
some time to come. 




STRIDE 

Formerly Sage Computer 

For more information on Stride or 
the location of the nearest Stride 
Dealer call or write us today. We'll 
also send you a free copy of our 
32 page product catalog. 
Corporate Offices: 
4905 Energy Way 
Reno. NV 89502 
(702)322-6868 
Regional Offices: 
Boston: (617) 229-6868 
Dallas: (214) 392-7070 



Inquiry 391 



JUNE 1985 -BYTE 291 



Jameco Mail-Order Electronics • Worldwide • Since 1974 Jameco 



1 2 MILLION PC. IC CLEARANCE 
- CALL FOR QUANTITY DISCOUNTS — 



Pari Ho. 



SN7400N 
SN740IN 
SN7402N 
SN7403N 
SN7404N 
SN7405N 
SN740GN 
SN7407N 
SN7408N 
SN7409N 
SN7410N 
SN7411N 
SN7412N 
SN74I3N 
SN7414H 
SN7416N 
SN7417N 

mmm 

SN742IN 
SN7422N 
SN7423N 
SN7425N 
SN7426N 
SN7427N 
SN7428N 
SN7430N 
SN7432N 
SN7433N 
SN7437N 
SN7438N 
SN7439N 
SN7440N 
SN7441N 
SN7442N 
SN7443N 
SN7444N 
SN7445N 
SN7446N 
SN7447N 
SN7448N 
SN7454N 
SN7459N 
SN7460N 
SN7470N 
SN7472N 
SN7473N 



74LS0O 
74LS01 

74LS02 
74LS03 

74LS05 
74LS08 
74LS09 
74LS10 
74LS11 
74LSI4 
74LS15 
74LS20 
74LS21 
74LS26 
7JLS27 
74LS28 
74LS30 

74LS37 
74LS38 
74LS42 
74LS47 
741S5I 
74LS73 
74LS74 
4 7 
74LS76 
74LSB5 
74LS86 
74LS90 
74LS92 
74LS93 
74LS96 
74LSI07 
74LSI09 
74LSII2 
74LS114 
74LS122 
74LS123 
74LS125 
74LS126 



74S0O 

74S02 
74S03 
74S04 
74S05 
74S08 
74S09 
74S10 
74S1I 
74SI5 
74S20 
74S22 
74S30 
74S32 
74S37 
74S38 
74S5I 
74S64 
74S65 
74S74 
74SB5 
74SB6 
74S112 
74S1I3 



CA3046N 

CA3D59N 
CA3060N 
CA3065E 
CA308DE 

CA3C81N 



CD40QI 
U)40t)2 

CD4006 
CD40O7 
C040QI 

co- m 

C04U1H 

ai.ioii 

CD4012 
CU4013 
C04014 

CD4015 

co m 

C040I7 
CD4018 
CD4019 

CU4020 

CD4022 
CO4023 

ai-ia?-; 
am?t 

CD4026 

CL14027 
CD4Q28 

CD4029 
I :i ■:»■■■.■ 
CO4034 
CO4035 
CD4040 



Part No. 



SN7.174N 
SN747SN 
SN7476N 

SN7480N 
SN7482N 
SN74B3N 
SN7485N 
SN74G6N 
SN7489N 
SN7490N 
SN7491N 
SN7492N 
SN7493N 
SN7494N 
SN7495N 

sv-s^'j 

SN7497N 
SW4100N 
SN74105N 
SN74107N 
SU74109N 
SNi'4116N 
SN74121N 
SN74122N 
SN74123N 
SN74125N 
SN74I26N 
SN74I28N 
SN74132N 

SN74141N 
SN74142N 
SN74I43N 
SH74144N 
SN74145N 
SN74I47N 
SN74148N 
SN74150N 
SN74151N 
SN74152N 
SN74153N 
SN74I54N 
SN74155N 
SN7415GN 
SN74157N 



SN74159N 24 

SN74160f< 15 

SN74161N 16 

SN74162N 16 

SH74163N IE 

SN74164N 14 

SN74165N 16 

SN74166.V 16 

SN74167N 16 

SN74I70N IE 

SN74172N 24 

SN74173N 16 

SN74174N 16 

SW4175N 16 

SN74176N 14 

Sfl74177N 14 

SN74I79N 16 

SN74IB0N 14 

SN74131N 24 

SN74182N 16 

SN74184N 16 

SN74185N 16 

SN74I90N 16 

SN7419IN 16 

SN74192N 16 

SN74193U 16 

SJJ74194N IS 

SN74195N 16 

SN74196N 14 

SN74197N 14 

SN74198N 24 

SN74199N 24 

SN7422IN 16 

SN74251N 16 

SN74273N 20 

SN74276N 20 

SN74279N 16 

SN742B3N IS 

SN742B4N IE 

SN742B5N 16 

SN7436JN IE 

SN7436GN 16 

SN74367N IF 

SN74368N IE 

SN74390N IS 

SN74393N 14 



/■:i.su;< 

/■ilHI.G 
74LSI36 
74LS138 
74LS139 
74LSI45 
74LS147 
74LS148 
74LS151 
74LS153 
74LSI54 
74LS155 
74LS156 
74LS157 
74LSI58 
74LSIS0 
74LS161 
74LS1G2 
74LSI63 
/41.SI64 
74LS165 
74LS16B 
74LSI69 
74LSI70 
74LSI73 
74LSI74 
74LS175 
74LS1B1 
74LS190 
74LS191 
74LS192 
74LSI93 
74LS194 
74LS195 
74LSI9G 
74LSI97 
74LS221 
74LS240 



74LS244 
74LS245 
74LS251 
74LS253 
74LS257 
74LS258 
74LS260 
74LS266 
74LS273 
74LS279 
74LS2B0 
74LS299 
74LS322 
74LS323 
74LS347 
74LS353 
74LS3G4 
74LS365 
74LS36G 
74LS367 
74LS368 
74LS373 
74LS374 
74LS375 
74LS3BG 
74LS393 
74LS399 
74LS490 
74LS533 
74LS534 
74LS540 
74LS541 
74LSG40 
74LS641 
74LS644 
74LS645 
74LSG70 
74LS6BB 
81LS95 
8ILS96 
81LS97 
B1LS98 



■J'fiJ.M'IJ 



74SI14 
74S124 
74SI32 
74S133 
74SI35 
74S136 
74S13B 
74S139 
74SI40 
74S151 
74S153 
74SI57 
74S158 
74S1G0 
74SI69 
74SI74 
74SI75 
74S183- 
74S194 
74S195 
74SI96 
74S240 



74S241 
74S242 
74S243 
74S244 
74S25I 
74S253 
74S257 
74S258 
74S2G0 
74S273 
74S2B0 
74S2B7- 
74S288' 
74S299 
74S373 
74S374 
74S387- 
74S47V 
74S472* 
74S473" 
74S570" 
74S571- 
74S572- 
74S573' 



CA3082N 
CA3063N 
CA3086N 
CA30B9N 
CA3096N 
CA3I27E 

CO4041 

CD4042 
CO4043 
CD4Q44 
C04046 
CW047 
C1M048 
CD4049 
C040SO 
CD4051 
014052 
CD4U53 
CD405E 
CD4059 
C04(!fi0 
CU4UG6 
CD406fl 
CG40G9 
CQ4070 
CD407I 
CU-1072 
CD4073 
CD4077 
CD4078 
CILiilgl 
CDJ093 
CD4094 
CD4098 
C;-0 -■> 



mm 



CA3I3QE 
CA3140E 
W3160H 

CA3I60E 
CA3IGIQ 

(A.ili.,-F 
CA3IB9E 
CA340IN 



W^H 


CD4503 16 




CU45D6 11 


14 .69 


CD4507 1. 


IB .69 


CD45GB 24 


16 .79 


CD45I0 IE 


IS 79 


C045H IE 


IE 89 


C04512 II 


14 89 


CD4514 24 


IE .59 


C04515 24 


IB .39 


CD451G IE 


IB 39 


CD4518 IE 


IE 79 


CD4519 IE 


IE .69 


CD452U II 


IB .79 


CD4526 H 


IB 2.95 


CD4528 li 


24 3.95 


CD4529 IE 


16 .89 


CD4531 IE 


14 45 


CD453B IE 


14 39 


CD4541 I 


14 35 


C04543 11 


14 29 


CD4566 1 


14 29 


CD4583 IC 


14 .29 


CD4584 14 


14 29 


CD4723 IE 


14 .35 


CD4724 IE 


14 49 


MC1441D IE 


14 .29 


MC14411 24 


14 49 


MCI 44 12 IS 


IB 195 


MCI 4433 t 


IE 195 


MCI4490P IE 


IB 189 


MC 14572 16 



H»B!^i^l',M=U:M,'JJ:1M=g 



Price Part No. 



(200rs) CMOS SRAM 
CMOS USES LESS POWER 



21C14 

27C16 (450ns)CM0SEPR0M 12.95 

4^64N-200 (dram) 2.25-9/19.95 

6116P-4 (200ns)SRAM 3.49 

6116LP-4 |200ns) LP SRAM 3.95 



Description 



6264P-15 

6264LP-15 

27128-25 

41256-200 

68764 

EWC-1 



12.49 
12.95 
9.95 
10.95 
14.95 

EPR0M Window Corns 10/.69 



(150ns) SRAM 
(150ns)L.RSRAM 
(250ns)EPR0M 
(200ns)DRAM 
(450ns) 2iV EPR0M 



Digitalker 



fllM;MJ:faM4^t]:W«]J 1 |JriJ|jJhgl 



D765AC 40 Floppy Disk Conliolle; IE.95 49-9s- 

D3?42 Z8 Ad* Mufepteta £ Rslresn Coun» 7.95 

TMS550I 40 Syochioru.^ !j;,[.i ln:i-r!,i,i- (SiRC). 14.95 



Z80 


40 


CPU IMK3880NI(780C)2 5M1IZ. . . . 


. 2.75 -Mfc- 


Z80CTC 


2B 


Counter Timer Gicuit. . . . 


. 3.49 


Z80-DART 


40 


Dual Asynchronous RecfTrans 


. 895 


Z80-OMA 


40 


Dnecl Memory Access Circuit 


. 12.49 


ZB0-P10 


40 


ftiialleli/DlnteilaceConiioller. . . . 


. 2.95 3-SS 


Z80S10/0 


40 


Serial I/O OxCH and RkCB BinrJed) 


. . 11.49 


280-S10/1 


40 


Serial II (Lacks DTRB) . 


11.49 


Z80-S10/2 


40 


Serial l/0(Lacks SYNCB) 


1149 


Z80-S10/9 


411 


Serial V0 


1149 


ZBOA 


40 


CPlJ(MK38EON-4)(7B0C-1)4MHi. . 


.2.95*4* 


Z80AC1C 


?H 


Courier limerCircu'l 


. 3.95-M9- 


ZBOA-DAm 


40 


Dual AsyiictirortousRecTians . 


995 


ZB0ADMA 


411 


Ouecl Menay Access Circuit . 


1295 


Z80AP10 


40 


Pjttllcll/D Inleitace Controller 


. . . 3 95 


ZB0A-S10/0 


40 


Serial l/0(TxCBand RxC8 Bondeal 


11.95 


Z80A-S10/1 


40 


Serial I/O (Lacks 01RB) . 


11.95 


ZB0A-S10/2 


40 


Serial I/O (LacksSYNCB) .... 


. 1195 


ZBOA-S10/9 


40 


Serial 1/0 ...... 


1195 


Z80B 


40 


CPUIMK3B80N.6I 6MRJ. . 


895 


Z8UBCTC 


28 


Counrer liittei Circuit. 


1195 


ZBOBDART 


40 


Dual Asyncfiionous Reu /Trans.. 


. 1995 


Z80R-P10 


4(1 


Parallel l/D InleilaceConlrolter , . 


. 1095 


Z800II 


48 


CPUSedmerileddUMHzl . . 


. . . 79.95 


Z8002B 


40 


CPl)N(W.Seqmenled(IOMHz) 


. 59 95 




- 6! uu/6 




6002 


40 


MPtJ writ! Clock (1MHz) , , . 


4,95 


6502A 


40 


MPU wilh Clock (2MHzl . 


6.49 


6502B 


40 


MPU with Clock 13MHz) 


. . 8.95 


6520 


411 


htnliheiallnler Adaoler 


.... 3.95 




40 


\ft?rsnlile Inler Adapter 


5.49 




?a 


Async. Comm inieilace Adapt.. . . 


6.95 4ft%- 


6800 


411 


MPU 


2 95 


6802CP 


40 


MPU Willi Clock and RAM 


5.95 r-9* 


GB09 


40 


CPU - 8-Bit (OnCtnpOscillatorl. 


B.95 


G809F 


40 


CPU - 8-Bil (ExleriMl Clocking). 


. . 995 



14.95 -W95- 
.3 95 



8035 
B039 
B040N-6 



80B5A 
B0B5A-2 
8086-2 



8155 

8156 

8205 

8212 

8224 

8228 

8237-5 

B23B 

8243 

825QN 

8251 

8251A 

8253 

8255 

8255A5 

8259 

8272 

8274 

8279 

8282 

8284 

82B6 

8287 



8310 

8741 

8748 

B749 

8755 

B0186-6 

80183 



40 CPU - 8-Bit (Exl Clocking) 2MHz 14.95 

24 l28x8Slatrc RAM (2MHz) 5.95 

40 I'tnplicral InleiAdiipl (MC6820) 2.75 «fr 

40 Penplteial Inlerlacti Adapler (2MHz) 5,95 

40 CRTCoiilrollerlCnTC) 9.95 +«5 

40 CR1 Controller (CRTC) 2MHz. . . , 

24 A yncliiunous Cornm Adapter . 

24 0-600Dps OiijilalMOOEM 7.95 

64 MPU 16-Bit (8MHz) 39.95 

40 General Puipo e Inl Adapter 995 

8000/80000 SERIES 

40 ConliolOnenledCPUw/RAM&!/0 12.95 H35 

40 MPIJ - 8-Bil 4.95 646- 

40 CPU— Sgi. Clup 8-Bit (12Bb1s RAMI 4.95 MS- 

40 CPUI25G bytes RAM) 9 95 

40 CPU - 8-Brt TJMDS 12.95 4+95 

40 CPUw/Basic Micro Interpreter 29 95 

40 CPU 



CPU . 



4 95 



40 CPU-8-Bit NCliatinel(5MHz) 1095 +4-9* 

40 CPU 16-bil 8MHz 19.95 ?+* 

40 Arithmetic Processor 149.95 fBWS 

40 CPU8(16-Bit .14.95 ***» 

40 HMOSRAM l/OPorl-fimei 4.95 *§5- 

40 RAMwiiltl/OPonanrJlimec 5.95-8*5 

16 Hi Speed 1 oul of 8 Binary Decoder 395 

24 8-Bil Input/Dulput (74S412) 295 

IB Clock GenerakwOnwr . 295 

28 Sys Com /Bus Onver (74S42B) 3.95-4*5- 

40 High Perl Prog DMA Cont. (5MHzl 14.95 4ft96- 

28 System Controlle i (74S438) . . 4.95 

24 1/0 Expander lo/48 Series 3.95 +95- 

40 Async Comm Element. 1095 

28 Prog Comm. I/O [USART) 4 49 +§a- 

2B Prog Comm Interface (USART) 4.95-rV95 

24 Prog inler^l Timer 595 6-3S 

40 Prog, Peripheral l/D (PPI) 4.49 4* 

40 Prog Per»heiat I/O (PPI) 5MHz. . ... 4.95 *95 

28 Prog Werrupl Control 5 95 

40 Sgle/DbleOensilyFloppyOiskCont IB.95 +9*5 

40 Mulli-Protrjcol Serial Cont (7201) 14.55 2